/* ==========================================================================
   KRYPTON APEX TACTICAL HUD - Offizielles HUD-System (GDD §3 & Parity)
   Modulo CSS isolato e modulare: Top Vital Bar, Left App Dock, 3-Pod Combat Bar,
   Alberi di Selezione Flyout (Missili, Hellstorm, Hi-Tech).
   ========================================================================== */

:root {
  --color-obsidian: #03060a;
  --color-panel-glass: rgba(6, 12, 22, 0.94);
  --color-cyber-cyan: #00e5ff;
  --color-cyber-cyan-dim: rgba(0, 240, 255, 0.25);
  --color-plasma-green: #00ff88;
  --color-plasma-green-dim: rgba(0, 255, 136, 0.25);
  --color-plasma-amber: #ffaa00;
  --color-plasma-gold: #ffd700;
  --color-target-red: #ff3333;
  --color-text-white: #ffffff;
  --color-text-muted: #7e9bbd;
  --font-display: 'Orbitron', 'Michroma', sans-serif;
  --font-mono: 'Share Tech Mono', monospace;
  --font-ui: 'Rajdhani', sans-serif;
}

/* ==========================================================================
   CHASSIS TATTICO (Apex Pod Container & Corner Brackets)
   ========================================================================== */
.apex-pod {
  background: linear-gradient(135deg, rgba(8, 16, 28, 0.94) 0%, rgba(3, 7, 14, 0.98) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(0, 240, 255, 0.4);
  position: relative;
  box-shadow: 
    0 0 20px rgba(0, 240, 255, 0.12),
    inset 0 0 15px rgba(0, 240, 255, 0.04);
  border-radius: 4px;
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.apex-pod::before {
  content: '';
  position: absolute;
  top: 0;
  left: -50%;
  width: 50%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--color-cyber-cyan), transparent);
  animation: cyberSweep 4s ease-in-out infinite;
  pointer-events: none;
  z-index: 5;
}

/* Staffe a L Cyber Brackets agli angoli */
.apex-pod::after {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: 4px;
  pointer-events: none;
  background: 
    linear-gradient(to right, var(--color-cyber-cyan) 3px, transparent 3px) 0 0,
    linear-gradient(to bottom, var(--color-cyber-cyan) 3px, transparent 3px) 0 0,
    linear-gradient(to left, var(--color-cyber-cyan) 3px, transparent 3px) 100% 0,
    linear-gradient(to bottom, var(--color-cyber-cyan) 3px, transparent 3px) 100% 0,
    linear-gradient(to right, var(--color-cyber-cyan) 3px, transparent 3px) 0 100%,
    linear-gradient(to top, var(--color-cyber-cyan) 3px, transparent 3px) 0 100%,
    linear-gradient(to left, var(--color-cyber-cyan) 3px, transparent 3px) 100% 100%,
    linear-gradient(to top, var(--color-cyber-cyan) 3px, transparent 3px) 100% 100%;
  background-repeat: no-repeat;
  background-size: 10px 10px;
  box-shadow: inset 0 0 12px rgba(0, 240, 255, 0.06);
}

/* ==========================================================================
   1. VITALS & RESOURCES RIBBON 1:1 DARKORBIT (Top Center Vital Ribbon - 24px)
   ========================================================================== */
.do-vitals-ribbon,
#vitals-ribbon {
  position: absolute;
  top: 6px;
  left: 50%;
  transform: translateX(-50%);
  height: 24px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 6px;
  background: linear-gradient(180deg, rgba(8, 16, 26, 0.92) 0%, rgba(3, 8, 14, 0.96) 100%);
  border: 1px solid rgba(0, 229, 255, 0.32);
  border-radius: 3px;
  padding: 0 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  white-space: nowrap;
  cursor: grab;
  user-select: none;
  -webkit-user-select: none;
  touch-action: none;
  z-index: 100;
  pointer-events: auto;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.do-vitals-ribbon:hover,
#vitals-ribbon:hover {
  border-color: rgba(0, 229, 255, 0.55);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.85), 0 0 8px rgba(0, 229, 255, 0.2);
}

.do-vitals-ribbon.is-dragging,
#vitals-ribbon.is-dragging {
  cursor: grabbing !important;
  border-color: #00e5ff;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.9), 0 0 14px rgba(0, 229, 255, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

/* Maniglia di trascinamento DarkOrbit autentica a micro-scanalature metalliche neutre (12x20px) */
.do-ribbon-drag-handle {
  width: 12px;
  height: 20px;
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png');
  background-repeat: no-repeat;
  background-position: center;
  image-rendering: auto;
  cursor: grab;
  margin: 0 1px;
  transition: opacity 0.15s ease, filter 0.15s ease;
  flex-shrink: 0;
  border-radius: 2px;
  touch-action: none;
}

.do-ribbon-drag-handle:hover {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_hover.png');
  filter: drop-shadow(0 0 4px rgba(0, 229, 255, 0.8));
}

.do-ribbon-drag-handle:active,
.do-ribbon-drag-handle.dragging,
.do-vitals-ribbon.is-dragging .do-ribbon-drag-handle,
#vitals-ribbon.is-dragging .do-ribbon-drag-handle {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_active.png');
  cursor: grabbing;
  filter: drop-shadow(0 0 6px #ffd700);
}

/* Blocco Livello Pilota nella Top Bar (DarkOrbit Parity) */
.pilot-header-cluster {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-right: 4px;
  border-right: 1px solid rgba(255, 255, 255, 0.2);
  cursor: pointer;
  flex-shrink: 0;
}

.pilot-level-tag {
  font-family: Tahoma, Verdana, sans-serif;
  font-size: 9.5px;
  font-weight: 700;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.25);
  padding: 1px 4px;
  border-radius: 2px;
  line-height: 1.1;
  letter-spacing: 0.5px;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

/* Modulo Vitale (HP, Scudo) */
.vital-cluster {
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: opacity 0.15s ease;
  flex-shrink: 0;
  user-select: none;
}

.vital-cluster:hover {
  opacity: 0.88;
}

.vital-icon-img {
  width: 13px;
  height: 13px;
  object-fit: contain;
  image-rendering: auto;
  flex-shrink: 0;
}

/* Alloggiamento grafico 62x13px con sfondo bar_background.png */
.vital-bar-shell {
  width: 62px;
  height: 13px;
  position: relative;
  background-image: url('/assets/ui/darkorbit_ui/bars/bar_background.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  image-rendering: auto;
  display: flex;
  align-items: center;
  padding: 0 1.5px;
  box-sizing: border-box;
  overflow: hidden;
  user-select: none;
  flex-shrink: 0;
}

.vital-bar-fill-img {
  height: 5px;
  width: 100%;
  object-fit: fill;
  image-rendering: auto;
  transition: width 0.15s ease;
  display: block;
}

/* Tipografia DarkOrbit 1:1: Tahoma, Verdana, sans-serif, bianco puro #FFFFFF + 1px Black Stroke */
.vital-val-text {
  font-family: Tahoma, Verdana, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
  color: #ffffff;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  user-select: none;
}

.vital-hp-text {
  color: #ffffff;
}

.vital-shield-text {
  color: #ffffff;
}

.vital-val-text.critical {
  color: #ff3344;
  animation: pulse-critical 1s infinite alternate;
}

.vital-val-text.nano-hull {
  color: #ffd700;
}

@keyframes pulse-critical {
  0% { opacity: 0.8; }
  100% { opacity: 1.0; filter: brightness(1.25); }
}

/* Separatore Discreto */
.do-slot-divider {
  width: 1px;
  height: 14px;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, 0.25), transparent);
  margin: 0 2px;
  flex-shrink: 0;
}

/* Moduli Progressione & Valute (EP, HON, Crediti, Uridium, Cargo, Jackpot) */
.currency-cluster {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
  user-select: none;
}

.currency-icon-img {
  width: 13px;
  height: 13px;
  object-fit: contain;
  image-rendering: auto;
  flex-shrink: 0;
}

/* Cifre Risorse Neutre DarkOrbit 1:1 (#FFFFFF con 1px Black Stroke, nessun colore arcobaleno) */
.currency-val {
  font-family: Tahoma, Verdana, sans-serif;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2px;
  white-space: nowrap;
  color: #ffffff;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.val-experience,
.val-honor,
.val-credits,
.val-uridium,
.val-cargo,
.val-jackpot {
  color: #ffffff;
}

/* Backward compatibility aliases */
#hud-top-bar.hud-top-center-bar {
  display: none;
}
.top-bar-module {
  display: flex;
  align-items: center;
  gap: 6px;
}
.top-bar-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  image-rendering: auto;
}
.vital-bar-container {
  width: 62px;
  height: 13px;
  background: url('/assets/ui/hud/bars/bar_background.png') no-repeat center;
  background-size: 100% 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-shrink: 0;
  user-select: none;
}
.vital-bar-img {
  width: 62px;
  height: 13px;
  display: block;
  pointer-events: none;
  image-rendering: auto;
}
.top-bar-value {
  font-family: Tahoma, Verdana, sans-serif;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.2px;
  white-space: nowrap;
  color: #ffffff;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

.top-bar-track {
  width: 75px;
  height: 7px;
  background: rgba(2, 6, 14, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 2px;
  overflow: hidden;
  position: relative;
}

.top-bar-fill,
.bar-hp,
.bar-shield {
  height: 100%;
  transition: width 0.2s ease, background 0.2s ease;
}

.hp-fill,
.bar-hp {
  background: linear-gradient(90deg, #00bb66 0%, #00ff88 100%);
  box-shadow: 0 0 8px #00ff88;
}

.shd-fill,
.bar-shield {
  background: linear-gradient(90deg, #0088cc 0%, #00f0ff 100%);
  box-shadow: 0 0 8px #00f0ff;
}

.top-bar-divider {
  width: 1px;
  height: 20px;
  background: linear-gradient(180deg, transparent, rgba(0, 240, 255, 0.5), transparent);
  margin: 0 2px;
}

/* Badge di stato nella barra superiore */
.top-bar-badge {
  font-family: var(--font-display);
  font-size: 8px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.badge-safe {
  background: rgba(0, 255, 136, 0.2);
  border: 1px solid #00ff88;
  color: #00ff88;
  box-shadow: 0 0 8px rgba(0, 255, 136, 0.4);
}

.badge-repair {
  background: rgba(255, 170, 0, 0.2);
  border: 1px solid #ffaa00;
  color: #ffaa00;
  animation: pulseRepair 1.2s infinite alternate;
}

/* ==========================================================================
   2. CASSETTO LATERALE SINISTRO DARKORBIT 1:1 (.do-side-drawer #do-left-drawer)
   ========================================================================== */

.do-side-drawer {
  position: fixed;
  top: 75px;
  z-index: 65;
  display: flex;
  align-items: flex-start;
  will-change: transform;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
}

/* 2A. DRAWER SINISTRO (Nave, Hangar, Economia & Sviluppo) */
#do-left-drawer {
  left: 0;
  flex-direction: row;
}

#do-left-drawer .do-drawer-body {
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

#do-left-drawer.drawer-collapsed,
#do-left-drawer.dock-collapsed {
  transform: translateX(calc(-100% + 24px));
}

/* Freccia Singola Autentica Flash (char_25 / grip_normal.png):
   Sinistro aperto: punta a sinistra (< verso il bordo esterno dello schermo) -> scaleX(1).
   Sinistro collassato: ribaltato orizzontalmente per puntare a destra (> verso l'interno schermo) -> scaleX(-1). */
#do-left-drawer .tab-grip-graphic {
  transform: scaleX(1);
}

#do-left-drawer.drawer-collapsed .tab-grip-graphic,
#do-left-drawer.dock-collapsed .tab-grip-graphic {
  transform: scaleX(-1);
}

/* 2B. DRAWER DESTRO (Missioni, Gruppo, Clan, PvP & Tattica) */
#do-right-drawer {
  right: 0;
  flex-direction: row;
}

#do-right-drawer .do-drawer-body {
  border-right: none;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}

#do-right-drawer.drawer-collapsed,
#do-right-drawer.dock-collapsed {
  transform: translateX(calc(100% - 24px));
}

/* Destro aperto: l'asset grip_normal.png (disegnato verso sinistra <) viene ribaltato orizzontalmente
   in modo da puntare verso l'esterno (> verso il bordo destro dello schermo).
   Destro collassato: ripristinato a scaleX(1) per puntare verso l'interno (< verso il centro schermo). */
#do-right-drawer .tab-grip-graphic {
  transform: scaleX(-1);
}

#do-right-drawer.drawer-collapsed .tab-grip-graphic,
#do-right-drawer.dock-collapsed .tab-grip-graphic {
  transform: scaleX(1);
}

/* Piastra Interna Sci-Fi DarkOrbit per il Drawer Sinistro (Griglia 2x5 ~88px larghezza) */
.do-drawer-body {
  background: linear-gradient(180deg, rgba(10, 20, 32, 0.96) 0%, rgba(4, 9, 16, 0.98) 100%);
  border: 1px solid rgba(0, 229, 255, 0.45);
  border-radius: 4px;
  padding: 5px;
  box-shadow: 
    0 6px 24px rgba(0, 0, 0, 0.9),
    inset 0 0 12px rgba(0, 229, 255, 0.12),
    inset 0 1px 0 rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Griglia 2 Colonne Compatta (2x5: 2x 38px + 3px gap + padding = ~88px) */
.do-drawer-slots-grid {
  display: grid;
  grid-template-columns: repeat(2, 38px);
  gap: 3px;
}

/* Singolo Slot DarkOrbit 38x38px */
.do-menu-slot {
  width: 38px;
  height: 38px;
  position: relative;
  background-image: url('/assets/ui/darkorbit_ui/frames/slot_bg.png');
  background-size: cover;
  background-repeat: no-repeat;
  image-rendering: auto;
  border-radius: 3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.1s ease, filter 0.15s ease;
  box-sizing: border-box;
}

.do-menu-slot:hover {
  background-image: url('/assets/ui/darkorbit_ui/frames/slot_hover.png');
  filter: brightness(1.15) drop-shadow(0 0 6px rgba(0, 229, 255, 0.5));
}

.do-menu-slot:active {
  transform: scale(0.96);
}

.do-menu-slot.slot-active,
.do-menu-slot.active {
  background-image: url('/assets/ui/darkorbit_ui/frames/slot_select.png');
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.7);
}

.do-menu-slot.slot-active::after,
.do-menu-slot.active::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('/assets/ui/darkorbit_ui/frames/slot_border_active.png');
  background-size: cover;
  pointer-events: none;
}

/* Icona nativa DarkOrbit 38x38px (Invariant 8: image-rendering: auto) */
.do-slot-icon {
  width: 38px;
  height: 38px;
  object-fit: contain;
  image-rendering: auto;
  pointer-events: none;
  transition: filter 0.15s ease;
}

/* Micro Badge Tasto Rapido (Hotkey) */
.do-slot-hotkey {
  position: absolute;
  top: 2px;
  left: 3px;
  font-family: Arial, 'Rajdhani', sans-serif;
  font-size: 9px;
  font-weight: 900;
  color: #00e5ff;
  line-height: 1;
  text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
  pointer-events: none;
}

/* Micro Badge di Stato Dinamico (es. 59m, LV.15, ZETA, +20%, OK) */
.do-slot-badge {
  position: absolute;
  bottom: 2px;
  right: 3px;
  font-family: var(--font-mono, 'Share Tech Mono', monospace);
  font-size: 8px;
  font-weight: 700;
  padding: 0 2px;
  background: rgba(0, 0, 0, 0.75);
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 2px;
  line-height: 1;
  pointer-events: none;
}

/* Linguetta Retrattile Sinistra con Grip Flash char_25 (13x24px grip_normal.png) */
.do-drawer-tab {
  width: 24px;
  height: 60px;
  background: linear-gradient(180deg, rgba(12, 24, 38, 0.98) 0%, rgba(5, 11, 18, 0.98) 100%);
  border: 1px solid rgba(0, 229, 255, 0.5);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 24px;
  padding: 0;
  outline: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.8), inset 0 0 8px rgba(0, 229, 255, 0.18);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  transition: all 0.2s ease;
  color: #00e5ff;
  box-sizing: border-box;
}

.drawer-tab-left {
  border-left: none;
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  margin-left: -1px;
}

.drawer-tab-right {
  border-right: none;
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
  margin-right: -1px;
}

.do-drawer-tab:hover {
  background: rgba(0, 229, 255, 0.25);
  border-color: #00e5ff;
  box-shadow: 0 0 16px rgba(0, 229, 255, 0.6);
}

.tab-grip-graphic {
  width: 13px;
  height: 24px;
  background-image: url('/assets/ui/darkorbit_ui/frames/grip_normal.png');
  background-repeat: no-repeat;
  background-position: center;
  image-rendering: auto;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), filter 0.15s ease;
}

.do-drawer-tab:hover .tab-grip-graphic {
  background-image: url('/assets/ui/darkorbit_ui/frames/grip_hover.png');
  filter: drop-shadow(0 0 4px #ffd700);
}

/* Micro-LED di Allerta Notifica integrato nella Linguetta */
.drawer-alert-pip {
  position: absolute;
  bottom: 5px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffaa00;
  box-shadow: 0 0 8px #ffaa00;
  display: none;
  pointer-events: none;
}

.drawer-alert-pip.active {
  display: block;
  animation: pulseAlertPip 0.8s infinite alternate ease-in-out;
}

@keyframes pulseAlertPip {
  0% { opacity: 0.4; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.3); }
}

/* Legacy & Right Corner Pod */
.hud-corner-dock {
  position: fixed;
  top: 12px;
  z-index: 60;
  pointer-events: auto;
  user-select: none;
  display: flex;
  align-items: flex-start;
  will-change: transform;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
}

/* Dock Angolo Sinistro (Legacy Fallback) */
.hud-corner-left {
  left: 12px;
  flex-direction: row;
}

.hud-corner-left.dock-collapsed {
  transform: translateX(calc(-100% + 22px));
}

.hud-corner-left.dock-collapsed .dock-chevron-svg {
  transform: rotate(180deg);
}

/* Dock Angolo Destro (Social, Missioni & PvP) */
.hud-corner-right {
  right: 12px;
  flex-direction: row;
}

.hud-corner-right.dock-collapsed {
  transform: translateX(calc(100% - 22px));
}

.hud-corner-right.dock-collapsed .dock-chevron-svg {
  transform: rotate(180deg);
}

/* Pannello Interno Pod DarkOrbit Apex */
.dock-panel-inner {
  padding: 6px;
  background: rgba(8, 16, 28, 0.94);
  border: 1px solid rgba(0, 240, 255, 0.4);
  border-radius: 6px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.85), inset 0 0 10px rgba(0, 240, 255, 0.15);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Griglia Compatta 3x3 (38px x 38px a slot) */
.apps-btn-grid-3x3 {
  display: grid;
  grid-template-columns: repeat(3, 38px);
  grid-template-rows: repeat(3, 38px);
  gap: 4px;
}

/* Linguetta Retrattile Sci-Fi (Cyber-Tab) */
.dock-collapse-tab {
  width: 22px;
  height: 54px;
  background: rgba(8, 18, 32, 0.96);
  border: 1px solid rgba(0, 240, 255, 0.5);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 0;
  outline: none;
  transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  margin-top: 36px;
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.8), inset 0 0 6px rgba(0, 240, 255, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.dock-tab-left {
  border-left: none;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
  margin-left: -1px;
}

.dock-tab-right {
  border-right: none;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
  margin-right: -1px;
  order: -1;
}

.dock-collapse-tab:hover {
  background: rgba(0, 240, 255, 0.25);
  border-color: #00f0ff;
  box-shadow: 0 0 18px rgba(0, 240, 255, 0.7), inset 0 0 10px rgba(0, 240, 255, 0.4);
}

.dock-chevron-svg {
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1);
  filter: drop-shadow(0 0 4px #00f0ff);
}

/* Micro-LED di Allerta Notifica a Dock Chiuso */
.dock-alert-dot {
  position: absolute;
  bottom: 6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffaa00;
  box-shadow: 0 0 8px #ffaa00;
  display: none;
  pointer-events: none;
}

.dock-alert-dot.active {
  display: block;
  animation: dockPulseAlert 0.9s infinite alternate cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes dockPulseAlert {
  from {
    transform: scale(0.85);
    opacity: 0.6;
    box-shadow: 0 0 4px #ff8800;
  }
  to {
    transform: scale(1.35);
    opacity: 1;
    box-shadow: 0 0 12px #ffcc00, 0 0 6px #ff8800;
  }
}

/* Singolo Bottone App Sci-Fi */
.orbital-app-btn {
  width: 38px;
  height: 38px;
  background: rgba(10, 20, 34, 0.92);
  border: 1px solid rgba(0, 240, 255, 0.35);
  border-radius: 3px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
  transition: all 0.15s cubic-bezier(0.2, 0.8, 0.2, 1);
  overflow: hidden;
}

.orbital-app-btn:hover {
  background: rgba(0, 240, 255, 0.25);
  border-color: var(--color-cyber-cyan);
  transform: translateX(4px);
  box-shadow: 0 0 14px rgba(0, 240, 255, 0.5);
}

.orbital-app-btn:active {
  transform: translateX(1px);
}

.orbital-app-btn.active {
  background: rgba(0, 240, 255, 0.28);
  border-color: #00ffcc;
  box-shadow: 0 0 10px rgba(0, 255, 204, 0.45);
}

/* HotKey Badge ad Altissimo Contrasto per App Dock */
.app-hotkey {
  position: absolute;
  top: 2px;
  left: 3px;
  font-family: 'Rajdhani', 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  color: var(--color-cyber-cyan);
  line-height: 1;
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 1px 3px rgba(0, 0, 0, 0.95);
  user-select: none;
  pointer-events: none;
}

.app-icon-img {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: drop-shadow(0 0 3px rgba(255, 140, 0, 0.45));
  transition: transform 0.15s ease, filter 0.15s ease;
}

.orbital-app-btn:hover .app-icon-img {
  filter: drop-shadow(0 0 7px rgba(255, 200, 60, 0.95)) brightness(1.1);
  transform: scale(1.08);
}

/* Badge di stato compatto per PET, Skylab, Quests, Market */
.app-badge-status {
  position: absolute;
  bottom: 2px;
  right: 2.5px;
  font-family: 'Rajdhani', 'Arial Black', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: 0.3px;
  line-height: 1;
  padding: 0.5px 2.5px;
  border-radius: 2px;
  background: rgba(2, 6, 14, 0.82);
  border: 1px solid rgba(0, 240, 255, 0.2);
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 1px 3px rgba(0, 0, 0, 0.95);
  user-select: none;
  pointer-events: none;
}

/* ==========================================================================
   3. COMBAT QUICKBAR (#combat-bar, Scomposta in 3 Pod Ergonomici)
   ========================================================================== */
#combat-bar,
.hud-bottom-combat-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: auto !important;
  right: auto !important;
  will-change: transform;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2px;
  z-index: 20;
  pointer-events: auto;
  user-select: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* CONTROLLI VERTICALI QUICKBAR: Lucchetto + Tasto Spostamento (20x20px, Parità Category Bar & deobfuscated.js) */
.quickbar-controls-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  width: 20px;
  align-self: flex-end;
  margin-right: 2px;
  margin-bottom: 7.5px;
  flex-shrink: 0;
}

/* Lucchetto Quickbar (20x20px nativo DarkOrbit, parità .catbar-lock-btn) */
.quickbar-lock-btn,
.kr-actionbar-lock {
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent !important;
  border: none !important;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: transform 0.1s ease, filter 0.15s ease;
  user-select: none;
}

.quickbar-lock-btn img,
.quickbar-lock-btn .lock-icon,
.kr-actionbar-lock img,
.kr-actionbar-lock .lock-icon {
  width: 20px !important;
  height: 20px !important;
  image-rendering: auto !important;
  pointer-events: none;
}

.quickbar-lock-btn:hover,
.kr-actionbar-lock:hover {
  filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 215, 0, 0.6));
}

.quickbar-lock-btn.unlocked,
.kr-actionbar-lock.unlocked {
  filter: drop-shadow(0 0 5px rgba(255, 215, 0, 0.8));
}

.quickbar-lock-btn .lock-hint,
.kr-actionbar-lock .lock-hint {
  display: none !important;
}

/* Pulsante Spostamento Quickbar (20x20px slot_move.png, visibile solo a lucchetto aperto) */
.quickbar-move-btn,
.kr-actionbar-drag-handle {
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent !important;
  border: none !important;
  outline: none;
  cursor: grab;
  display: none;
  align-items: center;
  justify-content: center;
  user-select: none;
  touch-action: none;
  padding: 0;
  flex-shrink: 0;
  transition: filter 0.15s ease;
}

#combat-bar.unlocked .quickbar-move-btn,
#combat-bar.unlocked .kr-actionbar-drag-handle {
  display: flex;
}

.quickbar-move-btn img,
.quickbar-move-btn .move-icon,
.kr-actionbar-drag-handle img,
.kr-actionbar-drag-handle .move-icon {
  width: 20px !important;
  height: 20px !important;
  image-rendering: auto !important;
  pointer-events: none;
}

.quickbar-move-btn:hover,
.kr-actionbar-drag-handle:hover {
  filter: brightness(1.25) drop-shadow(0 0 5px rgba(255, 215, 0, 0.8));
}

.quickbar-move-btn:active,
#combat-bar.dragging .quickbar-move-btn,
.kr-actionbar-drag-handle:active,
#combat-bar.dragging .kr-actionbar-drag-handle {
  cursor: grabbing;
  filter: brightness(1.35) drop-shadow(0 0 8px rgba(255, 215, 0, 1));
}

/* QUICKBAR POD & DYNAMIC 10-SLOT BAR */
.pod-quickbar-slots {
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: all 0.2s ease;
}

.pod-quickbar-slots::before,
.pod-quickbar-slots::after {
  display: none !important;
}

#combat-bar.unlocked .pod-quickbar-slots {
  border: 1px dashed rgba(255, 215, 0, 0.5) !important;
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.25) !important;
}

/* TOGGLE ROTAZIONE LAYOUT (.quickbar-layout-btn, .kr-actionbar-layout-toggle) */
.quickbar-layout-btn,
.kr-actionbar-layout-toggle {
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent !important;
  border: none !important;
  outline: none;
  cursor: pointer;
  display: none;
  align-items: center;
  justify-content: center;
  user-select: none;
  padding: 0;
  flex-shrink: 0;
  transition: transform 0.1s ease, filter 0.15s ease;
}

#combat-bar.unlocked .quickbar-layout-btn,
#combat-bar.unlocked .kr-actionbar-layout-toggle {
  display: flex;
}

.quickbar-layout-btn img,
.quickbar-layout-btn .reorder-icon,
.kr-actionbar-layout-toggle img,
.kr-actionbar-layout-toggle .reorder-icon {
  width: 20px !important;
  height: 20px !important;
  image-rendering: auto !important;
  pointer-events: none;
}

.quickbar-layout-btn:hover,
.kr-actionbar-layout-toggle:hover {
  filter: brightness(1.25) drop-shadow(0 0 4px rgba(0, 240, 255, 0.8));
  transform: scale(1.08);
}

.quickbar-layout-btn:active,
.kr-actionbar-layout-toggle:active {
  transform: scale(0.92);
}

.layout-mode-label {
  display: none;
}

/* LAYOUT MODES: 0 (Horizontal 2x10 Honeycomb), 1 (Vertical 10x2 Parallelo), 2 (Griglia Compatta 4x5 Honeycomb) */

/* Mode 0: Orizzontale Doppio Honeycomb (2x10) - Parità PrivateKrypton & Master GDD */
#combat-bar.layout-mode-0,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) {
  flex-direction: row;
  align-items: flex-end;
}
#combat-bar.layout-mode-0 #quickbar-slots-container,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) #quickbar-slots-container {
  display: grid;
  grid-template-columns: repeat(10, 32px);
  grid-template-rows: 24px 35px;
  column-gap: 1px;
  row-gap: 0px;
  padding-left: 17px;
  padding-right: 0px;
}

/* Layering e sfasamento Honeycomb a mezzo passo (-16.5px) per la riga superiore in Mode 0 */
#combat-bar.layout-mode-0 .quickbar-slot.quickbar-row-lower,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) .quickbar-slot.quickbar-row-lower {
  z-index: 2;
  transform: none;
}

#combat-bar.layout-mode-0 .quickbar-slot.quickbar-row-upper,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) .quickbar-slot.quickbar-row-upper {
  z-index: 1;
  transform: translateX(-16.5px);
}

#combat-bar.layout-mode-0 .quickbar-slot.quickbar-row-upper:hover,
#combat-bar.layout-mode-0 .quickbar-slot.quickbar-row-upper.active,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) .quickbar-slot.quickbar-row-upper:hover,
#combat-bar:not(.layout-mode-1):not(.layout-mode-2) .quickbar-slot.quickbar-row-upper.active {
  transform: translateX(-16.5px);
}

/* Collasso compatto Mode 0 quando bloccato se non vi sono item secondari equipaggiati */
#combat-bar.locked.layout-mode-0 #quickbar-slots-container:not(.has-upper-items),
#combat-bar.locked:not(.layout-mode-1):not(.layout-mode-2) #quickbar-slots-container:not(.has-upper-items) {
  grid-template-rows: 0px 35px;
  padding-left: 0px;
}

#combat-bar.locked.layout-mode-0 #quickbar-slots-container:not(.has-upper-items) .quickbar-slot.quickbar-row-upper,
#combat-bar.locked:not(.layout-mode-1):not(.layout-mode-2) #quickbar-slots-container:not(.has-upper-items) .quickbar-slot.quickbar-row-upper {
  display: none !important;
}

/* Mode 1: Verticale Doppio (10x2 Parallelo) */
#combat-bar.layout-mode-1 {
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

#combat-bar.layout-mode-1 .quickbar-controls-col {
  flex-direction: row;
  align-self: center;
  justify-content: center;
  gap: 4px;
  width: auto;
  margin-right: 0;
  margin-bottom: 2px;
}

#combat-bar.layout-mode-1 #quickbar-slots-container {
  display: grid;
  grid-template-columns: repeat(2, 32px);
  grid-template-rows: repeat(10, 35px);
  column-gap: 2px;
  row-gap: 1px;
  padding: 0;
}

#combat-bar.layout-mode-1 .quickbar-slot {
  transform: none !important;
}

/* Collasso colonna secondaria se bloccata e senza item superiori */
#combat-bar.locked.layout-mode-1 #quickbar-slots-container:not(.has-upper-items) {
  grid-template-columns: 32px;
}

#combat-bar.locked.layout-mode-1 #quickbar-slots-container:not(.has-upper-items) .quickbar-slot.quickbar-row-upper {
  display: none !important;
}

#combat-bar.layout-mode-1 .pod-config-core {
  align-self: center;
  margin-top: 4px;
}

/* Mode 2: Griglia Compatta Honeycomb (4x5) */
#combat-bar.layout-mode-2 {
  flex-direction: row;
  align-items: center;
  gap: 6px;
}

#combat-bar.layout-mode-2 .quickbar-controls-col {
  flex-direction: column;
  align-self: center;
  justify-content: center;
  gap: 4px;
  width: 20px;
  margin-right: 0;
  margin-bottom: 0;
}

#combat-bar.layout-mode-2 #quickbar-slots-container {
  display: grid;
  grid-template-columns: repeat(5, 32px);
  grid-template-rows: 24px 24px 24px 35px;
  column-gap: 1px;
  row-gap: 0px;
  padding-left: 17px;
  padding-right: 0px;
}

/* Incastro Honeycomb alternato: Righe 1 e 3 shiftate a sinistra (-16.5px) */
#combat-bar.layout-mode-2 .quickbar-slot.grid-r1,
#combat-bar.layout-mode-2 .quickbar-slot.grid-r3 {
  transform: translateX(-16.5px);
}

#combat-bar.layout-mode-2 .quickbar-slot.grid-r1:hover,
#combat-bar.layout-mode-2 .quickbar-slot.grid-r1.active,
#combat-bar.layout-mode-2 .quickbar-slot.grid-r3:hover,
#combat-bar.layout-mode-2 .quickbar-slot.grid-r3.active {
  transform: translateX(-16.5px);
}

#combat-bar.layout-mode-2 .quickbar-slot.grid-r2,
#combat-bar.layout-mode-2 .quickbar-slot.grid-r4 {
  transform: none;
}

/* Collasso righe 3 e 4 se bloccata e senza item superiori (diventa 2x5 Honeycomb compatto) */
#combat-bar.locked.layout-mode-2 #quickbar-slots-container:not(.has-upper-items) {
  grid-template-rows: 24px 35px 0px 0px;
}

#combat-bar.locked.layout-mode-2 #quickbar-slots-container:not(.has-upper-items) .quickbar-slot.grid-r3,
#combat-bar.locked.layout-mode-2 #quickbar-slots-container:not(.has-upper-items) .quickbar-slot.grid-r4 {
  display: none !important;
}

#combat-bar.layout-mode-2 .pod-config-core {
  align-self: center;
}

/* Stile Slot Vuoto (.slot-empty) per Seconda Quickbar e Drag & Drop */
.quickbar-slot.slot-empty {
  background: rgba(2, 6, 12, 0.45) !important;
  border: 1px dashed rgba(0, 240, 255, 0.3) !important;
  border-radius: 3px;
  cursor: default;
}

.quickbar-slot.slot-empty:hover {
  background: rgba(0, 240, 255, 0.1) !important;
  border-color: rgba(0, 240, 255, 0.7) !important;
}

.quickbar-slot.slot-empty.drag-over {
  background: rgba(255, 215, 0, 0.18) !important;
  border-color: rgba(255, 215, 0, 0.95) !important;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.6) !important;
}

.quickbar-slot.slot-empty .slot-bg-frame,
.quickbar-slot.slot-empty .slot-selected-frame,
.quickbar-slot.slot-empty .slot-hex-svg {
  display: none !important;
}

.quickbar-slot.slot-empty .slot-key-text {
  color: rgba(255, 255, 255, 0.45) !important;
  text-shadow: 0 1px 2px #000;
}

/* Quando bloccato, gli slot vuoti sono invisibili e non interattivi (Parità deobfuscated.js) */
.quickbar-slot.slot-empty.slot-empty-hidden {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Hi-Tech Zero Quantity Opacity (Parità deobfuscated.js:60032-60040 container.alpha = 0.5) */
.quickbar-slot.slot-zero-qty,
.drawer-slot.slot-zero-qty,
.drawer-item-card.slot-zero-qty,
.tactical-action-slot.slot-zero-qty {
  opacity: 0.55 !important;
  filter: grayscale(0.15);
}

.quickbar-slot.slot-zero-qty .slot-count-text,
.drawer-slot.slot-zero-qty .slot-count-text,
.drawer-item-card.slot-zero-qty .slot-count-text {
  opacity: 1 !important;
  color: #ffaa00;
  text-shadow: 0 0 3px #000, 0 0 6px #000;
}

/* ==========================================================================
   SECONDA ACTION BAR: CATEGORY BAR & EXPANDED DRAWERS (Parità PrivateKrypton)
   ========================================================================== */
#category-bar,
.hud-category-bar {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  bottom: auto !important;
  right: auto !important;
  will-change: transform;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  z-index: 21;
  pointer-events: auto;
  user-select: none;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Controlli verticali barra categorie: Lucchetto + Tasto Spostamento (20x20px, Parità deobfuscated.js) */
.catbar-controls-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 20px;
  align-self: flex-start;
  margin-right: 2px;
  flex-shrink: 0;
}

/* Lucchetto barra categorie (20x20px nativo DarkOrbit) */
.catbar-lock-btn {
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: filter 0.15s ease;
  user-select: none;
}

.catbar-lock-btn img {
  width: 20px;
  height: 20px;
  image-rendering: auto;
  pointer-events: none;
}

.catbar-lock-btn:hover {
  filter: brightness(1.2) drop-shadow(0 0 4px rgba(255, 215, 0, 0.6));
}

.catbar-lock-btn.unlocked {
  filter: drop-shadow(0 0 5px rgba(255, 215, 0, 0.8));
}

/* Pulsante Spostamento Barra Categorie (20x20px slot_move.png, visibile solo a lucchetto aperto) */
.catbar-move-btn {
  position: relative;
  width: 20px;
  height: 20px;
  background: transparent;
  border: none;
  outline: none;
  cursor: grab;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: filter 0.15s ease;
  user-select: none;
  touch-action: none;
}

#category-bar.unlocked .catbar-move-btn {
  display: flex;
}

.catbar-move-btn img {
  width: 20px;
  height: 20px;
  image-rendering: auto;
  pointer-events: none;
}

.catbar-move-btn:hover {
  filter: brightness(1.25) drop-shadow(0 0 5px rgba(255, 215, 0, 0.8));
}

.catbar-move-btn:active,
#category-bar.dragging .catbar-move-btn {
  cursor: grabbing;
  filter: brightness(1.35) drop-shadow(0 0 8px rgba(255, 215, 0, 1));
}

/* Container bottoni categoria */
.catbar-slots-container {
  display: flex;
  gap: 1px;
  align-items: center;
}

/* Bottone Categoria (32x35px esagonale composito con texture autentica) */
.catbar-btn {
  position: relative;
  width: 32px;
  height: 35px;
  background: transparent;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 2px;
  transition: transform 0.1s ease;
  user-select: none;
}

.catbar-btn:hover {
  transform: none;
}

.catbar-icon-img {
  width: 32px;
  height: 35px;
  object-fit: contain;
  image-rendering: auto;
  pointer-events: none;
}

/* Sfondo scuro autentico per Category Bar (deobfuscated.js:61817-61847 & 60510-60525 class nJ) */
.catbar-btn .slot-bg-frame {
  background: url('/assets/ui/action-slots/slot_handler_background.png') no-repeat center / 100% 100% !important;
}

.catbar-btn:hover .slot-bg-frame {
  background: url('/assets/ui/action-slots/slot_handler_background.png') no-repeat center / 100% 100% !important;
}

.catbar-btn.active .slot-selected-frame,
.catbar-btn:hover .slot-selected-frame {
  background: url('/assets/ui/action-slots/slot_handler_selected.png') no-repeat center / 100% 100% !important;
  width: 34px;
  height: 39px;
  top: -2px;
  left: -1px;
  display: block !important;
  opacity: 1 !important;
}

/* Bottone Toggle Profilo PVE / PVP (32x35px esagonale coordinato con testo bianco autentico) */
.catbar-profile-btn {
  position: relative;
  width: 32px;
  height: 35px;
  background: url('/assets/ui/action-slots/slot_background.png') no-repeat center / 100% 100%;
  border: none;
  outline: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin-left: 1px;
  border-radius: 2px;
  transition: transform 0.1s ease, filter 0.15s ease;
  user-select: none;
}

.catbar-profile-btn:hover {
  background-image: url('/assets/ui/action-bars/normal/hover.png');
}

.catbar-profile-btn:active {
  transform: scale(0.96);
}

.catbar-profile-label {
  font-family: Arial, var(--font-display, sans-serif);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-shadow: 0 1px 2px #000000, 0 0 3px rgba(255, 255, 255, 0.5);
  pointer-events: none;
}

.catbar-profile-btn.pvp .catbar-profile-label {
  color: #ffffff;
  text-shadow: 0 1px 2px #000000, 0 0 4px rgba(255, 255, 255, 0.7);
}

/* Cassetto Categoria Espanso (#category-drawer-panel) - BORDERLESS & TRASPARENTE (Parità PrivateKrypton) */
.catbar-drawer-panel {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  display: flex;
  align-items: center;
  gap: 1px;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  z-index: 50;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  will-change: transform;
}

.catbar-drawer-panel.flipped-up {
  top: auto;
  bottom: calc(100% + 2px);
}

.drawer-scroll-btn {
  position: relative;
  width: 20px;
  height: 20px;
  background: radial-gradient(circle at center, #2e2213 0%, #151009 85%, #0d0a06 100%);
  border: 1px solid #6b5329;
  clip-path: polygon(50% 0%, 96% 25%, 96% 75%, 50% 100%, 4% 75%, 4% 25%);
  cursor: pointer;
  display: none; /* Mostrata solo quando necessaria da deobfuscated logic */
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0 2px;
  flex-shrink: 0;
  transition: all 0.15s ease;
  outline: none;
  user-select: none;
}

.drawer-scroll-btn svg {
  display: block;
  pointer-events: none;
  filter: drop-shadow(0 0 2px rgba(255, 215, 0, 0.6));
}

.drawer-scroll-btn:hover:not(:disabled) {
  border-color: #ffd700;
  filter: brightness(1.3) drop-shadow(0 0 6px rgba(255, 215, 0, 0.8));
  transform: scale(1.05);
}

.drawer-scroll-btn:active:not(:disabled) {
  transform: scale(0.95);
}

.drawer-scroll-btn:disabled {
  display: none !important;
}

.drawer-track-viewport {
  width: auto;
  overflow: visible;
  position: relative;
}

.drawer-slots-track {
  display: flex;
  gap: 1px;
  align-items: center;
  transition: transform 0.2s cubic-bezier(0.2, 0.8, 0.2, 1);
  will-change: transform;
}

/* Stili specifici Drawer Slot (Estende .tactical-action-slot) */
.drawer-slot {
  flex-shrink: 0;
  cursor: pointer;
}

.drawer-slot:hover {
  filter: brightness(1.15);
}

.drawer-slot:active {
  transform: scale(0.96);
}

/* MODALITÀ SBLOCCATA & DRAG OVER SUGLI SLOT */
#combat-bar.unlocked .quickbar-slot {
  cursor: grab;
}

#combat-bar.unlocked .quickbar-slot .slot-hex-border {
  stroke: rgba(0, 240, 255, 0.85);
  stroke-dasharray: 4 3;
}

#combat-bar.unlocked .quickbar-slot:hover .slot-hex-border {
  stroke: var(--color-plasma-gold);
  stroke-dasharray: 4 3;
  filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.8));
}

.quickbar-slot.dragging {
  opacity: 0.35;
  transform: scale(0.92);
}

.quickbar-slot.drag-over {
  transform: scale(1.1) !important;
}

.quickbar-slot.drag-over .slot-hex-bg {
  fill: rgba(0, 240, 255, 0.32) !important;
}

.quickbar-slot.drag-over .slot-hex-border {
  stroke: var(--color-plasma-gold) !important;
  stroke-width: 2.5 !important;
  stroke-dasharray: none !important;
  filter: drop-shadow(0 0 16px rgba(255, 215, 0, 1)) !important;
}

/* POD A: LASER BATTERY (Compatibilità) */
.pod-laser-battery {
  padding: 5px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slots-flex-group {
  display: flex;
  gap: 4px;
  align-items: center;
}

/* Singolo Slot di Azione Tattico - Geometria Esagonale Uniforme (Nativa DarkOrbit / Krypton 32x35px) */
.tactical-action-slot,
.action-slot {
  width: 32px;
  height: 35px;
  background: transparent;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  user-select: none;
  overflow: visible;
}

.tactical-action-slot:hover,
.action-slot:hover {
  transform: none;
}

.tactical-action-slot.active,
.action-slot.active {
  transform: none;
}

/* Base Metallic Background Frame Layer (authentic DarkOrbit rock + frame, NO clip-path) */
.slot-bg-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 35px;
  background: url('/assets/ui/action-slots/slot_background.png') no-repeat center / 100% 100%;
  image-rendering: auto;
  pointer-events: none;
  z-index: 1;
  transition: background 0.15s ease;
}

.tactical-action-slot:hover .slot-bg-frame,
.drawer-item-card:hover .slot-bg-frame {
  background: url('/assets/ui/action-bars/normal/hover.png') no-repeat center / 100% 100%;
}

/* Selected Glowing Frame (Active white border from slot_selected.png, 34x39px centrato a -1px, -2px) */
.slot-selected-frame {
  position: absolute;
  top: -2px;
  left: -1px;
  width: 34px;
  height: 39px;
  background: url('/assets/ui/action-slots/slot_selected.png') no-repeat center / 100% 100%;
  image-rendering: auto;
  pointer-events: none;
  z-index: 2;
  display: none;
}

.tactical-action-slot.active .slot-selected-frame,
.action-slot.active .slot-selected-frame {
  display: block;
}

.tactical-action-slot:hover .slot-selected-frame,
.drawer-item-card:hover .slot-selected-frame {
  display: block;
  opacity: 0.6;
}

/* SVG Hexagon Track / Border (Visibile perimetralmente per definire l'esagono metallico 1:1) */
.slot-hex-svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 35px;
  pointer-events: none;
  z-index: 3;
  overflow: visible;
  display: block;
}

#combat-bar.unlocked .slot-hex-svg {
  z-index: 8;
}

.slot-hex-bg {
  display: none;
}

.slot-hex-border {
  fill: none;
  stroke: #66727d;
  stroke-width: 1px;
  stroke-linejoin: round;
  opacity: 0.65;
  transition: opacity 0.15s ease, stroke 0.15s ease;
}

#combat-bar.unlocked .slot-hex-border {
  stroke: rgba(0, 240, 255, 0.8);
  stroke-width: 1.5px;
  stroke-dasharray: 4 3;
  opacity: 1;
}

.tactical-action-slot:hover .slot-hex-border,
.drawer-item-card:hover .slot-hex-border {
  stroke: #00f0ff;
  opacity: 0.9;
}

.tactical-action-slot.active .slot-hex-border,
.action-slot.active .slot-hex-border {
  display: none;
}

/* Surface for Icon & Cooldown Overlay (z-index 4: SEMPRE sopra lo sfondo selezionato!) */
.slot-hex-surface {
  position: absolute;
  top: 0;
  left: 0;
  width: 32px;
  height: 35px;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4;
  overflow: visible;
  pointer-events: none;
}

/* Segmented Ammo Bar (Autentico DarkOrbit 26x6px da slots/ammo/{1..26}.png posizionato a y=10px, x=3px) */
.slot-ammo-bar {
  position: absolute;
  top: 10px;
  left: 3px;
  width: 26px;
  height: 6px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  pointer-events: none;
  user-select: none;
  z-index: 6;
  display: none;
}

/* Icone: Adattamento Intelligente Hex vs Standard (Tutte native 32x35px 1:1) */
.slot-icon-img {
  width: 32px;
  height: 35px;
  pointer-events: none;
  user-select: none;
}

/* Icone Native Esagonali (Abilità Solace, Diminisher, Spectrum, Venom, Sentinel 32x35 - Fit Perfetto 1:1) */
.slot-icon-img.icon-fit-hex {
  width: 32px;
  height: 35px;
  object-fit: cover;
  clip-path: polygon(50% 2%, 97% 24%, 97% 76%, 50% 98%, 3% 76%, 3% 24%);
  image-rendering: auto;
  margin: auto;
}

/* Icone Standard (Munizioni laser, missili, CPU, Tech - Tutte native 32x35px 1:1 da deobfuscated.js) */
.slot-icon-img.icon-fit-standard {
  width: 32px;
  height: 35px;
  object-fit: contain;
  image-rendering: auto;
  margin-top: 0;
}

/* Cooldown Overlay Esagonale Radiale (conic-gradient clock-hand sweep) */
.slot-cd-overlay,
.slot-cooldown-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  clip-path: polygon(50% 0%, 100% 23%, 100% 77%, 50% 100%, 0% 77%, 0% 23%);
  background: conic-gradient(rgba(4, 8, 16, var(--cd-alpha, 0.42)) var(--cd-progress, 360deg), transparent 0deg);
  display: none;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 9px;
  font-weight: 900;
  color: var(--color-plasma-gold);
  pointer-events: none;
  z-index: 10;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.95), 0 0 3px #000;
}

/* Tech e Ship Ability usano un indicatore di sweep più scuro (alpha 0.82 per Hz(true) in deobfuscated.js:59662) */
.quickbar-slot[data-item-id^="tech_"] .slot-cd-overlay,
.quickbar-slot[data-item-id^="tech_"] .slot-cooldown-overlay,
.quickbar-slot[data-item-id^="ability_"] .slot-cd-overlay,
.quickbar-slot[data-item-id^="ability_"] .slot-cooldown-overlay,
.quickbar-slot[data-item-id="ship_ability"] .slot-cd-overlay,
.quickbar-slot[data-item-id="ship_ability"] .slot-cooldown-overlay,
.drawer-slot[data-item-id^="tech_"] .slot-cd-overlay,
.drawer-slot[data-item-id^="tech_"] .slot-cooldown-overlay,
.drawer-slot[data-item-id^="ability_"] .slot-cd-overlay,
.drawer-slot[data-item-id^="ability_"] .slot-cooldown-overlay,
.drawer-slot[data-item-id="ship_ability"] .slot-cd-overlay,
.drawer-slot[data-item-id="ship_ability"] .slot-cooldown-overlay,
.drawer-item-card[data-item-id^="tech_"] .slot-cd-overlay,
.drawer-item-card[data-item-id^="tech_"] .slot-cooldown-overlay,
.drawer-item-card[data-item-id^="ability_"] .slot-cd-overlay,
.drawer-item-card[data-item-id^="ability_"] .slot-cooldown-overlay,
.drawer-item-card[data-item-id="ship_ability"] .slot-cd-overlay,
.drawer-item-card[data-item-id="ship_ability"] .slot-cooldown-overlay,
.tactical-action-slot.slot-tech .slot-cd-overlay,
.tactical-action-slot.slot-ability .slot-cd-overlay,
#cd-cat-tech,
#cd-cat-ability {
  --cd-alpha: 0.82;
}

.slot-cd-overlay.in-cd,
.slot-cooldown-overlay.in-cd {
  display: flex !important;
}

/* HotKey Text (Nascosti in combattimento come in PrivateKrypton, visibili solo a lucchetto aperto per il drag & drop) */
.slot-key-text,
.slot-key {
  display: none !important;
  position: absolute;
  top: 6px;
  left: 4px;
  z-index: 7;
  font-family: Arial, sans-serif;
  font-size: 7px;
  font-weight: 700;
  color: rgba(220, 235, 255, 0.7);
  line-height: 1;
  text-shadow: 0 0 2px #000, 0 1px 2px #000;
  user-select: none;
  pointer-events: none;
}

#combat-bar.unlocked .slot-key-text,
#combat-bar.unlocked .slot-key {
  display: block !important;
}

/* Elevazione icona Hellstorm da deobfuscated.js: if (isRocketLauncher) itemSprite.y = -9px */
.quickbar-slot[data-item-id="launcher_hst"] .slot-icon-img,
.drawer-item-card[data-item-id="launcher_hst"] .slot-icon-img {
  transform: translateY(-9px) !important;
}

/* Testo Contatore / Cariche / Zero (Autentico Eurostile / Arial 8.5px alla base dello slot y=35px) */
.slot-count-text,
.slot-count {
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 7;
  font-family: Arial, sans-serif;
  font-size: 8.5px;
  font-weight: normal;
  color: #ffffff;
  line-height: 1;
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 1px 3px rgba(0, 0, 0, 0.95);
  user-select: none;
  pointer-events: none;
  white-space: nowrap;
}

/* ==========================================================================
   POD B: CONFIGURAZIONE C1 / C2 (Uniformato allo Stile Metallico DarkOrbit 32x35)
   ========================================================================== */
#slot-config,
.pod-config-core {
  width: 32px;
  height: 35px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.15s ease, filter 0.15s ease;
  user-select: none;
  background: transparent;
  border: none;
}

.pod-config-core:hover {
  transform: none;
}

.pod-config-core:active {
  transform: scale(0.97);
}

.pod-config-core .config-core-content {
  position: relative;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.pod-config-core .config-core-title {
  font-family: Arial, 'Arial Black', var(--font-display), sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.5px;
  color: #ffd700;
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 1px 3px rgba(0, 0, 0, 0.95);
  transition: all 0.2s ease;
}

.pod-config-core:hover .config-core-title {
  color: #ffffff;
  text-shadow: 0 0 6px #ffd700, 0 0 2px #000;
}

/* Config 2 (Pesante / Blu Titanio) */
.pod-config-core.config-2 .config-core-title {
  color: #00e5ff;
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000,
     0 1px 3px rgba(0, 0, 0, 0.95);
}

.pod-config-core.config-2:hover .config-core-title {
  color: #ffffff;
  text-shadow: 0 0 6px #00e5ff, 0 0 2px #000;
}

.pod-config-core .slot-cd-overlay,
.pod-config-core .slot-cooldown-overlay {
  position: absolute;
  inset: 0;
  clip-path: polygon(50% 0%, 100% 23%, 100% 77%, 50% 100%, 0% 77%, 0% 23%);
  background: conic-gradient(rgba(4, 8, 16, 0.88) var(--cd-progress, 360deg), transparent 0deg);
  z-index: 10;
  display: none;
  align-items: center;
  justify-content: center;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 900;
  color: var(--color-plasma-gold);
}

/* ==========================================================================
   POD C: ORDNANCE, HI-TECH & CPU TATTICHE
   ========================================================================== */
.pod-ordnance-tech {
  padding: 5px 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pod-ordnance-tech .tactical-action-slot,
.pod-ordnance-tech .action-slot {
  width: 44px;
  height: 50px;
}

.pod-ordnance-tech .slot-icon-img,
.pod-ordnance-tech img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 4px rgba(0, 240, 255, 0.4));
  transition: transform 0.15s ease, filter 0.15s ease;
}

.pod-ordnance-tech .tactical-action-slot:hover .slot-icon-img,
.pod-ordnance-tech .action-slot:hover img {
  transform: scale(1.15);
  filter: drop-shadow(0 0 10px rgba(0, 240, 255, 0.85)) brightness(1.15);
}

/* Missile e Hellstorm Launcher in Pod C */
#slot-rocket-active .slot-icon-img,
#slot-launcher-hst .slot-icon-img,
#slot-rocket-active img,
#slot-launcher-hst img {
  width: 38px;
  height: 20px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 3px rgba(255, 170, 0, 0.4));
}

#slot-rocket-active:hover .slot-icon-img,
#slot-launcher-hst:hover .slot-icon-img,
#slot-rocket-active:hover img,
#slot-launcher-hst:hover img {
  transform: scale(1.1);
  filter: drop-shadow(0 0 8px rgba(255, 200, 60, 0.9));
}

/* Chevron indicatore albero verso l'alto */
.missile-expand-chevron {
  position: absolute;
  top: -4px;
  right: 2px;
  padding: 1px 2px;
  font-size: 7px;
  color: var(--color-cyber-cyan);
  opacity: 0.85;
  transition: transform 0.2s ease, opacity 0.2s ease, color 0.2s ease;
  line-height: 1;
  pointer-events: auto;
  cursor: pointer;
  z-index: 5;
}

#slot-rocket-active:hover .missile-expand-chevron,
#slot-launcher-hst:hover .missile-expand-chevron,
#slot-tech-1:hover .missile-expand-chevron,
#slot-tech-2:hover .missile-expand-chevron {
  opacity: 1;
  transform: translateY(-1.5px);
  color: var(--color-plasma-gold);
}

/* Micro-LED Hellstorm 5 tubi (Autentico DarkOrbit / Krypton da funzione az in deobfuscated.js) */
.hst-tubes-dots {
  position: absolute;
  top: 15px;
  left: 4px;
  display: flex;
  gap: 1px;
  width: 24px;
  height: 4px;
  align-items: center;
  justify-content: center;
  z-index: 6;
  pointer-events: none;
}

.tube-dot {
  width: 4px;
  height: 4px;
  background: #fff200;
  border: 1px solid #aa9f00;
  border-radius: 0;
  box-shadow: 0 0 2px rgba(255, 242, 0, 0.6);
  transition: all 0.15s ease;
  box-sizing: border-box;
}

.tube-dot.empty {
  background: #000000 !important;
  border: 1px solid #3b3b3b !important;
  box-shadow: none !important;
}

/* Hi-Tech Slots */
#slot-tech-1 .slot-icon-img,
#slot-tech-2 .slot-icon-img,
#slot-tech-1 img,
#slot-tech-2 img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  filter: drop-shadow(0 0 3px rgba(0, 240, 255, 0.4));
}

/* ==========================================================================
   ALBERI DI SELEZIONE FLYOUT (Espansione verso l'alto)
   ========================================================================== */
.missile-flyout-tree {
  position: absolute;
  bottom: calc(100% + 12px);
  left: 0;
  width: 256px;
  background: linear-gradient(180deg, rgba(8, 18, 32, 0.98) 0%, rgba(3, 8, 16, 0.98) 100%);
  border: 1px solid var(--color-cyber-cyan);
  border-radius: 4px;
  box-shadow: 
    0 -6px 24px rgba(0, 0, 0, 0.85),
    0 0 16px rgba(0, 240, 255, 0.35),
    inset 0 0 12px rgba(0, 240, 255, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 6px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  z-index: 1000;
  opacity: 0;
  transform: translateY(8px) scale(0.96);
  pointer-events: none;
  transition: opacity 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.missile-flyout-tree.open {
  opacity: 1;
  transform: translateY(0) scale(1);
  pointer-events: auto;
}

.missile-tree-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 4px 5px 4px;
  border-bottom: 1px solid rgba(0, 240, 255, 0.25);
  margin-bottom: 2px;
}

.missile-tree-title {
  font-family: var(--font-display);
  font-size: 8px;
  font-weight: 900;
  color: var(--color-cyber-cyan);
  letter-spacing: 0.8px;
  white-space: nowrap;
}

.missile-tree-close-hint {
  font-family: var(--font-mono);
  font-size: 7.5px;
  color: var(--color-text-muted);
}

.missile-tree-list {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.missile-option-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  background: rgba(10, 22, 38, 0.75);
  border: 1px solid rgba(0, 240, 255, 0.18);
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}

.missile-option-item:hover {
  background: rgba(0, 240, 255, 0.2);
  border-color: var(--color-cyber-cyan);
  transform: translateX(3px);
  box-shadow: 0 0 10px rgba(0, 240, 255, 0.35);
}

.missile-option-item.active {
  background: rgba(255, 215, 0, 0.12);
  border-color: var(--color-plasma-gold);
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.35);
}

.missile-option-item.active::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--color-plasma-gold);
  border-radius: 2px 0 0 2px;
}

.missile-opt-icon {
  width: 36px;
  height: 20px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 3px rgba(0, 240, 255, 0.35));
}

.tech-opt-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.missile-opt-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.missile-opt-name {
  font-family: var(--font-display);
  font-size: 9.5px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 0.5px;
  line-height: 1.1;
}

.missile-option-item.active .missile-opt-name {
  color: var(--color-plasma-gold);
}

.missile-opt-desc {
  font-family: var(--font-ui);
  font-size: 8px;
  color: var(--color-text-muted);
  line-height: 1;
}

.missile-opt-count {
  font-family: 'Rajdhani', 'Arial Black', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--color-plasma-amber);
  text-shadow: 
    -1px -1px 0 #000,
     1px -1px 0 #000,
    -1px  1px 0 #000,
     1px  1px 0 #000;
}

/* ==========================================================================
   ANIMAZIONI
   ========================================================================== */
@keyframes cyberSweep { 
  0% { transform: translateX(0); opacity: 0; } 
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { transform: translateX(350%); opacity: 0; } 
}

@keyframes pulseRepair { 
  0% { opacity: 0.4; } 
  100% { opacity: 1; } 
}

/* Nasconde il vecchio banner informativo duplicato */
#instructions {
  display: none !important;
}

/* ==========================================================================
   MINIMAP HUD WINDOW (DarkOrbit Flash Parity - Prometium Collector Theme)
   ========================================================================== */
#minimap-window.kr-floating-window,
.minimap-window,
.do-minimap-window {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  will-change: transform;
  width: 252px !important;
  background: linear-gradient(180deg, rgba(14, 22, 32, 0.96) 0%, rgba(6, 12, 18, 0.98) 100%) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.92),
    0 0 16px rgba(0, 229, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  display: flex;
  flex-direction: column;
  z-index: 65;
  user-select: none;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  font-family: 'Eurostile', Arial, sans-serif !important;
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

#minimap-window.kr-floating-window.alert,
.minimap-window.alert,
.do-minimap-window.alert {
  border-color: #ff3300 !important;
  box-shadow: 0 0 25px rgba(255, 51, 0, 0.7) !important;
}

#minimap-window.kr-floating-window.kr-win-focused,
.do-minimap-window.kr-win-focused {
  border-color: #00e5ff !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 20px rgba(0, 229, 255, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

#minimap-window.kr-floating-window.is-dragging,
.do-minimap-window.is-dragging {
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.95),
    0 0 24px rgba(0, 229, 255, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  border-color: #00e5ff !important;
}

#minimap-header.kr-win-header,
.minimap-header,
.do-minimap-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  min-height: 28px !important;
  background: linear-gradient(180deg, #173652 0%, #0c2032 100%) !important;
  padding: 0 6px !important;
  border-bottom: 1px solid #1f4f75 !important;
  cursor: grab !important;
  touch-action: none !important;
}

.minimap-header.dragging,
.do-minimap-header.dragging {
  cursor: grabbing !important;
}

.minimap-header-left,
.do-minimap-header-left {
  display: flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.minimap-header-grip {
  width: 10px;
  height: 18px;
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png');
  background-repeat: no-repeat;
  background-position: center;
  image-rendering: auto;
  opacity: 0.85;
  margin-right: 2px;
  flex-shrink: 0;
  cursor: grab;
  touch-action: none;
  transition: opacity 0.15s ease, filter 0.15s ease;
}

.do-minimap-header:hover .minimap-header-grip,
#minimap-header:hover .minimap-header-grip {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_hover.png');
  filter: drop-shadow(0 0 3px rgba(0, 229, 255, 0.7));
  opacity: 1;
}

.do-minimap-header.dragging .minimap-header-grip,
#minimap-window.is-dragging .minimap-header-grip,
.do-minimap-window.is-dragging .minimap-header-grip {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_active.png');
  filter: drop-shadow(0 0 5px #ffd700);
  cursor: grabbing;
}

.minimap-tag {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-shadow: 0 0 4px rgba(0, 229, 255, 0.6);
}

.minimap-sector-title {
  color: #ffd700 !important;
  font-size: 11px !important;
  font-family: 'Eurostile', Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: 0.5px !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8) !important;
}

.minimap-coords-display {
  color: #00e5ff !important;
  font-size: 9.5px !important;
  font-family: monospace, monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.5px !important;
}

.minimap-hover-coords {
  font-family: monospace, monospace;
  font-size: 9px;
  font-weight: 700;
  color: #ffaa00;
  background: rgba(0, 0, 0, 0.55);
  padding: 1px 4px;
  border-radius: 2px;
  border: 1px solid rgba(255, 170, 0, 0.4);
}

.minimap-header-right,
.do-minimap-header-right {
  display: flex;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}

.minimap-threat-val {
  color: #ffd700 !important;
  font-size: 9.5px !important;
  font-family: monospace !important;
  font-weight: bold !important;
}

#btn-minimap-minimize.minimap-btn-ctrl,
.minimap-ctrl-btn {
  width: 17px !important;
  height: 17px !important;
  background: linear-gradient(180deg, #182836 0%, #0d1a24 100%) !important;
  border: 1px solid #285473 !important;
  color: #c8e2f8 !important;
  border-radius: 3px !important;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  transition: all 0.15s ease !important;
}

#btn-minimap-minimize.minimap-btn-ctrl:hover,
.minimap-ctrl-btn:hover {
  background: #1f3b52 !important;
  border-color: #00e5ff !important;
  color: #ffffff !important;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.4) !important;
}

.minimap-ctrl-btn:active {
  transform: scale(0.92) !important;
}

.minimap-ctrl-btn.minimap-btn-close:hover {
  background: rgba(255, 51, 51, 0.25) !important;
  border-color: #ff3333 !important;
  color: #ff3333 !important;
  box-shadow: 0 0 6px rgba(255, 51, 51, 0.5) !important;
}

.minimap-threat-bar-track,
.do-minimap-threat-track {
  width: 100%;
  height: 3px;
  background: rgba(4, 8, 14, 0.9) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.2) !important;
  overflow: hidden;
  transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.minimap-threat-bar-track.threat-alert,
.do-minimap-threat-track.threat-alert {
  box-shadow: 0 0 8px rgba(255, 34, 0, 0.85);
  border-bottom-color: #ff3344;
}

.minimap-threat-bar-fill,
.do-minimap-threat-fill {
  height: 100%;
  background: linear-gradient(90deg, #00b4ff 0%, #ffd700 70%, #ff2200 100%);
  transition: width 0.3s ease;
}

.minimap-threat-bar-track.threat-alert .minimap-threat-bar-fill,
.do-minimap-threat-track.threat-alert .do-minimap-threat-fill {
  animation: minimapThreatAlertPulse 0.7s infinite alternate ease-in-out;
}

@keyframes minimapThreatAlertPulse {
  0% { opacity: 0.55; filter: brightness(0.95); }
  100% { opacity: 1; filter: brightness(1.7) drop-shadow(0 0 4px #ff2200); }
}

.minimap-threat-alert {
  font-size: 8.5px;
  font-weight: bold;
  font-family: 'Arial Black', Arial, sans-serif;
  color: #ff3300;
  text-align: center;
  letter-spacing: 0.8px;
  text-shadow: 0 0 6px #ff3300;
  padding: 2px 0;
  background: rgba(255, 0, 0, 0.15);
  animation: threatAlertBlink 0.8s infinite alternate;
}

.minimap-body,
.do-minimap-body {
  position: relative;
  width: 248px !important;
  height: 152px !important;
  background: #03060a !important;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.minimap-window.minimized .minimap-body,
.minimap-window.minimized .minimap-threat-bar-track,
.minimap-window.minimized .minimap-threat-alert,
.kr-floating-window.kr-win-minimized .minimap-body,
.kr-floating-window.kr-win-minimized .minimap-threat-bar-track,
.kr-floating-window.kr-win-minimized .minimap-threat-alert,
.do-minimap-window.minimized .do-minimap-body,
.do-minimap-window.minimized .do-minimap-threat-track,
.do-minimap-window.minimized .minimap-status-bar {
  display: none !important;
}

#minimap-canvas {
  width: 248px !important;
  height: 152px !important;
  display: block;
  cursor: crosshair;
}

.minimap-status-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 18px;
  background: rgba(4, 10, 18, 0.88);
  border-top: 1px solid rgba(0, 229, 255, 0.25);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 6px;
  font-family: monospace, monospace;
  font-size: 8.5px;
  color: #8faec9;
  pointer-events: none;
  z-index: 10;
}

.minimap-zoom-badge {
  color: #00e5ff;
  font-weight: 700;
}

.minimap-status-zone {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #00ff88;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.minimap-zone-pip {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00ff88;
  box-shadow: 0 0 5px #00ff88;
  animation: minimapZonePulse 1.8s infinite alternate;
}

@keyframes minimapZonePulse {
  0% { opacity: 0.4; transform: scale(0.8); }
  100% { opacity: 1; transform: scale(1.2); }
}

.minimap-speed-badge {
  color: #ffd700;
  font-weight: 700;
}

/* ==========================================================================
   REAL FPS & PERFORMANCE MONITOR HUD (DarkOrbit / Apex Parity)
   ========================================================================== */
.fps-counter-hud {
  position: fixed;
  top: 155px;
  right: 14px;
  z-index: 900;
  user-select: none;
  pointer-events: auto;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.fps-counter-hud.hidden {
  display: none !important;
}

.fps-hud-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: rgba(6, 12, 22, 0.88);
  border: 1px solid rgba(0, 229, 255, 0.35);
  border-radius: 4px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.8), inset 0 0 6px rgba(0, 229, 255, 0.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-family: 'Share Tech Mono', monospace, 'Courier New';
  font-size: 11px;
  letter-spacing: 0.5px;
  color: #c9d8e8;
  white-space: nowrap;
}

.fps-hud-badge:hover {
  border-color: rgba(0, 229, 255, 0.7);
  box-shadow: 0 0 16px rgba(0, 229, 255, 0.35), inset 0 0 8px rgba(0, 229, 255, 0.2);
}

.fps-hud-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #00ff88;
  box-shadow: 0 0 6px #00ff88;
  display: inline-block;
  flex-shrink: 0;
  transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

.fps-hud-label {
  color: #7d96b0;
  font-weight: 600;
  font-size: 10px;
}

.fps-val-text {
  font-weight: 700;
  font-size: 12px;
  min-width: 42px;
  text-align: right;
  display: inline-block;
}

.fps-val-text.fps-good {
  color: #00ff88;
  text-shadow: 0 0 6px rgba(0, 255, 136, 0.5);
}

.fps-val-text.fps-warn {
  color: #ffd700;
  text-shadow: 0 0 6px rgba(255, 215, 0, 0.5);
}

.fps-val-text.fps-bad {
  color: #ff3344;
  text-shadow: 0 0 6px rgba(255, 51, 68, 0.6);
}

.fps-hud-sep {
  color: rgba(255, 255, 255, 0.2);
  margin: 0 2px;
}

.fps-ms-text {
  color: #a0c4de;
  font-size: 11px;
}

.fps-extended-details {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.fps-detail-label {
  color: #7d96b0;
  font-size: 9px;
  font-weight: 600;
}

.fps-detail-val {
  color: #00e5ff;
  font-size: 11px;
}

/* ==========================================================================
   KRYPTON FLOATING WINDOW SYSTEM (.kr-floating-window) - GDD v7 §15
   GPU-Accelerated, Zero Layout Thrashing, Anti-Click-Through Sci-Fi Widgets
   ========================================================================== */
.kr-floating-window {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  will-change: transform;
  display: none;
  flex-direction: column;
  background: rgba(6, 12, 22, 0.94);
  border: 1px solid rgba(0, 240, 255, 0.35);
  border-radius: 4px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.8), 0 0 16px rgba(0, 240, 255, 0.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-sizing: border-box;
  z-index: 100;
  pointer-events: auto;
  user-select: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.kr-floating-window.kr-win-visible {
  display: flex;
}

.kr-floating-window.kr-win-focused {
  border-color: #00d0ff;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.88), 0 0 20px rgba(0, 208, 255, 0.32);
}

.kr-floating-window.kr-win-dragging {
  opacity: 0.92;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.92), 0 0 26px rgba(0, 240, 255, 0.45);
  transition: none !important;
}

.kr-win-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 32px;
  min-height: 32px;
  padding: 0 8px 0 10px;
  background: linear-gradient(90deg, #0b1a30, #060e1a);
  border-bottom: 1px solid #005588;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  cursor: grab;
  touch-action: none;
  box-sizing: border-box;
}

.kr-floating-window.kr-win-dragging .kr-win-header {
  cursor: grabbing;
}

.kr-win-title {
  font-family: 'Orbitron', 'EurostileHeaFl', 'Eurostile', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: #00d0ff;
  letter-spacing: 1px;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  gap: 6px;
  pointer-events: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kr-win-title-icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(0, 208, 255, 0.5));
}

.kr-win-controls {
  display: flex;
  align-items: center;
  gap: 4px;
  pointer-events: auto;
}

.kr-win-btn {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #005588;
  color: #00b4ff;
  font-size: 13px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  line-height: 1;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  padding: 0;
  margin: 0;
  user-select: none;
}

.kr-win-btn:hover {
  background: rgba(0, 229, 255, 0.2);
  border-color: #00e5ff;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.45);
}

.kr-win-btn:active {
  transform: scale(0.92);
}

.kr-win-btn.kr-win-close:hover {
  background: rgba(255, 42, 109, 0.25);
  border-color: #ff2a6d;
  color: #ff6688;
  box-shadow: 0 0 8px rgba(255, 42, 109, 0.45);
}

.kr-win-body {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  position: relative;
  box-sizing: border-box;
}

.kr-floating-window.kr-win-minimized {
  height: auto !important;
  min-height: 0 !important;
  border-bottom: 1px solid #005588;
}

.kr-floating-window.kr-win-minimized .kr-win-header {
  border-bottom: none;
  border-radius: 3px;
}

.kr-floating-window.kr-win-minimized .kr-win-body {
  display: none !important;
}

/* ==========================================================================
   FLOATING WINDOW RESIZING (Handles, Cursors & DarkOrbit Corner Grip)
   ========================================================================== */
.kr-win-resize-handle {
  position: absolute;
  z-index: 25;
  touch-action: none;
  user-select: none;
  box-sizing: border-box;
}

.kr-win-resize-handle.handle-n {
  top: -4px;
  left: 8px;
  right: 8px;
  height: 8px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_vertical.png') 8 8, ns-resize;
}

.kr-win-resize-handle.handle-s {
  bottom: -4px;
  left: 8px;
  right: 8px;
  height: 8px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_vertical.png') 8 8, ns-resize;
}

.kr-win-resize-handle.handle-e {
  top: 8px;
  right: -4px;
  bottom: 8px;
  width: 8px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_horizontal.png') 8 8, ew-resize;
}

.kr-win-resize-handle.handle-w {
  top: 8px;
  left: -4px;
  bottom: 8px;
  width: 8px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_horizontal.png') 8 8, ew-resize;
}

.kr-win-resize-handle.handle-ne {
  top: -4px;
  right: -4px;
  width: 12px;
  height: 12px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_diagonal.png') 8 8, nesw-resize;
}

.kr-win-resize-handle.handle-nw {
  top: -4px;
  left: -4px;
  width: 12px;
  height: 12px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_diagonal.png') 8 8, nwse-resize;
}

.kr-win-resize-handle.handle-se {
  bottom: -4px;
  right: -4px;
  width: 16px;
  height: 16px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_diagonal.png') 8 8, nwse-resize;
}

.kr-win-resize-handle.handle-sw {
  bottom: -4px;
  left: -4px;
  width: 12px;
  height: 12px;
  cursor: url('/assets/ui/darkorbit_ui/cursors/cursor_resize_diagonal.png') 8 8, nesw-resize;
}

/* Authentic DarkOrbit Diagonal Corner Grip (Bottom-Right) */
.kr-win-resize-corner {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 10px;
  height: 10px;
  pointer-events: none;
  background: linear-gradient(135deg, transparent 0%, transparent 40%, rgba(0, 229, 255, 0.4) 40%, rgba(0, 229, 255, 0.4) 50%, transparent 50%, transparent 70%, rgba(0, 229, 255, 0.7) 70%, rgba(0, 229, 255, 0.7) 80%, transparent 80%);
  opacity: 0.75;
  transition: opacity 0.15s ease;
}

.kr-floating-window:hover .kr-win-resize-corner {
  opacity: 1;
}

.kr-floating-window.kr-win-resizing {
  user-select: none !important;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.95), 0 0 24px rgba(0, 229, 255, 0.5) !important;
  border-color: #00e5ff !important;
  transition: none !important;
}

.kr-floating-window.kr-win-minimized .kr-win-resize-handle,
.kr-floating-window.kr-win-minimized .kr-win-resize-corner {
  display: none !important;
}

/* ==========================================================================
   EMOJI RADIAL WHEEL OVERLAY (DarkOrbit Sci-Fi Hologram)
   ========================================================================== */
.emote-wheel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none !important;
  opacity: 0;
  visibility: hidden;
  display: none !important;
  z-index: 9999;
  transition: opacity 0.12s ease;
  user-select: none;
}

.emote-wheel-overlay.active {
  pointer-events: auto !important;
  visibility: visible;
  display: block !important;
  opacity: 1;
}

.emote-wheel-disk {
  position: absolute;
  width: 0;
  height: 0;
  pointer-events: none;
}

.emote-wheel-overlay.active .emote-wheel-disk {
  pointer-events: auto;
}

.emote-wheel-center {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 72px;
  height: 72px;
  border-radius: 50%;
  background: rgba(6, 12, 24, 0.94);
  border: 2px solid rgba(0, 240, 255, 0.45);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.9), inset 0 0 10px rgba(0, 240, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s cubic-bezier(0.2, 0.8, 0.2, 1);
  z-index: 10;
}

.emote-wheel-center.has-selection {
  border-color: #00f0ff;
  box-shadow: 0 0 24px rgba(0, 240, 255, 0.65), inset 0 0 12px rgba(0, 240, 255, 0.4);
  transform: translate(-50%, -50%) scale(1.05);
}

.emote-wheel-center-icon {
  font-size: 22px;
  line-height: 1;
  margin-bottom: 2px;
  filter: drop-shadow(0 0 6px rgba(0, 240, 255, 0.6));
}

.emote-wheel-center-label {
  font-family: 'Rajdhani', 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  color: #00f0ff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-shadow: 0 0 6px #00f0ff, -1px -1px 0 #000, 1px 1px 0 #000;
  text-align: center;
  max-width: 68px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wheel-sector {
  position: absolute;
  width: 68px;
  height: 48px;
  border-radius: 6px;
  background: rgba(8, 16, 30, 0.92);
  border: 1px solid rgba(0, 240, 255, 0.35);
  box-shadow: 0 0 14px rgba(0, 0, 0, 0.8), inset 0 0 6px rgba(0, 240, 255, 0.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform 0.12s cubic-bezier(0.2, 0.8, 0.2, 1), background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
  z-index: 5;
}

.wheel-sector:hover,
.wheel-sector.selected {
  background: rgba(0, 240, 255, 0.25);
  border-color: #00f0ff;
  box-shadow: 0 0 22px rgba(0, 240, 255, 0.75), inset 0 0 10px rgba(0, 240, 255, 0.4);
  filter: brightness(1.2);
}

.wheel-sector-icon {
  font-size: 19px;
  line-height: 1;
  margin-bottom: 2px;
  transition: transform 0.12s ease;
}

.wheel-sector.selected .wheel-sector-icon {
  transform: scale(1.25);
}

.wheel-sector-label {
  font-family: 'Rajdhani', Arial, sans-serif;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 0 4px #000, -1px -1px 0 #000, 1px 1px 0 #000;
  letter-spacing: 0.3px;
  white-space: nowrap;
}

/* ==========================================================================
   CHAT HUD WINDOW (DarkOrbit Flash Parity - chatWindowUI.xml & chatWindowUIAssets)
   ========================================================================== */
#chat-window.kr-floating-window,
.chat-window,
.do-chat-window {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  will-change: transform;
  transform: translate3d(20px, calc(100vh - 340px), 0);
  width: 440px;
  height: 300px;
  min-width: 320px;
  min-height: 180px;
  background: linear-gradient(180deg, rgba(14, 22, 32, 0.96) 0%, rgba(6, 12, 18, 0.98) 100%) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.92),
    0 0 16px rgba(0, 229, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  display: flex;
  flex-direction: column;
  z-index: 50;
  user-select: text;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  backdrop-filter: blur(4px);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#chat-window.kr-floating-window.kr-win-focused,
.do-chat-window.kr-win-focused {
  border-color: #00e5ff !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 20px rgba(0, 229, 255, 0.4),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

#chat-window.kr-floating-window.is-dragging,
.do-chat-window.is-dragging {
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.95),
    0 0 24px rgba(0, 229, 255, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  border-color: #00e5ff !important;
}

/* Chat Header */
.chat-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 8px 0 6px !important;
  background: linear-gradient(180deg, rgba(28, 42, 58, 0.95) 0%, rgba(12, 20, 28, 0.98) 100%) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.35) !important;
  user-select: none !important;
  cursor: grab;
}

.chat-header:active {
  cursor: grabbing;
}

.chat-header-title {
  display: flex;
  align-items: center;
  gap: 6px;
}

.chat-header-grip {
  width: 14px;
  height: 14px;
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  image-rendering: auto;
  opacity: 0.85;
  cursor: grab;
  transition: opacity 0.15s ease, filter 0.15s ease;
  flex-shrink: 0;
}

.chat-header-grip:hover {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_hover.png');
  opacity: 1;
  filter: drop-shadow(0 0 3px rgba(0, 229, 255, 0.8));
}

.chat-header:active .chat-header-grip,
#chat-window.is-dragging .chat-header-grip {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_active.png');
  filter: drop-shadow(0 0 5px #ffd700);
  cursor: grabbing;
}

.chat-header-tag {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.8px;
  text-shadow: 0 0 4px rgba(0, 229, 255, 0.6);
}

.chat-channel-badge {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9px;
  font-weight: 900;
  color: #ffd700;
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid rgba(255, 215, 0, 0.35);
  border-radius: 3px;
  padding: 1px 5px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.chat-header-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.chat-ctrl-btn {
  background: linear-gradient(180deg, #1f2730 0%, #0d1217 100%);
  border: 1px solid #384654;
  border-radius: 2px;
  color: #a0b8cc;
  cursor: pointer;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  padding: 0;
  transition: all 0.15s ease;
}

.chat-ctrl-btn:hover {
  background: #2a3542;
  color: #ffffff;
  border-color: #00e5ff;
  box-shadow: 0 0 5px rgba(0, 229, 255, 0.5);
}

.chat-ctrl-btn.chat-modal-close:hover {
  border-color: #ff3344;
  color: #ff4455;
  box-shadow: 0 0 5px rgba(255, 51, 68, 0.5);
}

/* Chat Body */
.chat-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  min-height: 0;
}

#chat-window.kr-floating-window.kr-win-minimized {
  height: auto !important;
  min-height: 0 !important;
}

#chat-window.kr-floating-window.kr-win-minimized .chat-body {
  display: none !important;
}

/* Tab Bar Section */
.chat-tabbar-section {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 4px 6px 0 6px;
  background: rgba(10, 16, 22, 0.95);
}

.chat-slope-divider {
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  height: 18px;
  background: url('/assets/ui/darkorbit_ui/chat/horizontal_divider_slope.png') no-repeat left top;
  image-rendering: auto;
  pointer-events: none;
  z-index: 2;
}

.chat-tabbar-inner {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 20px;
  position: relative;
  z-index: 3;
}

.chat-tab-scroll-btn {
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  image-rendering: auto;
}

.chat-tab-scroll-btn.btn-left {
  width: 38px;
  height: 15px;
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_left_modern_normal.png');
}

.chat-tab-scroll-btn.btn-left:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_left_modern_over.png');
}

.chat-tab-scroll-btn.btn-left:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_left_modern_active.png');
}

.chat-tab-scroll-btn.btn-left:disabled {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_left_modern_inactive.png');
  opacity: 0.5;
  cursor: default;
}

.chat-tab-scroll-btn.btn-right {
  width: 30px;
  height: 15px;
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_right_modern_normal.png');
}

.chat-tab-scroll-btn.btn-right:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_right_modern_over.png');
}

.chat-tab-scroll-btn.btn-right:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_right_modern_active.png');
}

.chat-tab-scroll-btn.btn-right:disabled {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_right_modern_inactive.png');
  opacity: 0.5;
  cursor: default;
}

.chat-tabs-viewport {
  flex: 1;
  overflow: hidden;
  display: flex;
  align-items: center;
  height: 18px;
}

.chat-tabs {
  display: flex;
  align-items: center;
  gap: 2px;
  height: 16px;
  overflow-x: auto;
  scrollbar-width: none;
  user-select: none;
}

.chat-tabs::-webkit-scrollbar {
  display: none;
}

.chat-tab {
  width: 114px;
  height: 15px;
  flex-shrink: 0;
  background: url('/assets/ui/darkorbit_ui/chat/tab_modern_normal.png') no-repeat center center;
  background-size: 114px 15px;
  font-family: Verdana, Tahoma, sans-serif;
  font-size: 9px;
  font-weight: 700;
  color: #6fb2cb;
  text-transform: uppercase;
  text-align: center;
  line-height: 15px;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: color 0.12s ease;
  image-rendering: auto;
}

.chat-tab:hover {
  background-image: url('/assets/ui/darkorbit_ui/chat/tab_modern_hover.png');
  color: #ffffff;
}

.chat-tab.active {
  background-image: url('/assets/ui/darkorbit_ui/chat/tab_modern_active.png');
  color: #e9e2c0;
  font-weight: 900;
  text-shadow: 0 0 5px rgba(233, 226, 192, 0.4);
}

.chat-tab.has-unread {
  color: #ffd700;
  animation: chatTabFlash 1.2s infinite alternate;
}

@keyframes chatTabFlash {
  from { filter: drop-shadow(0 0 2px rgba(255, 215, 0, 0.4)); color: #ffd700; }
  to { filter: drop-shadow(0 0 8px rgba(255, 215, 0, 0.95)); color: #ffffff; }
}

.chat-btn-refresh {
  width: 18px;
  height: 16px;
  flex-shrink: 0;
  border: none;
  background: url('/assets/ui/darkorbit_ui/chat/btn_refresh_normal.png') no-repeat center center;
  background-size: contain;
  cursor: pointer;
  image-rendering: auto;
  transition: transform 0.15s ease;
}

.chat-btn-refresh:hover {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_refresh_hover.png');
  transform: scale(1.05);
}

.chat-btn-refresh:active {
  background-image: url('/assets/ui/darkorbit_ui/chat/btn_refresh_active.png');
  transform: scale(0.95);
}

.chat-tab-divider {
  width: 100%;
  height: 2px;
  background: url('/assets/ui/darkorbit_ui/chat/horizontal_divider_modern.png') repeat-x center;
  background-size: auto 2px;
  image-rendering: auto;
  margin-top: 3px;
}

/* Chat Messages Feed */
.chat-messages {
  flex: 1;
  min-height: 80px;
  overflow-y: auto;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  font-size: 11px;
  line-height: 1.35;
  background: rgba(6, 9, 13, 0.92);
  user-select: text;
}

.chat-messages::-webkit-scrollbar {
  width: 10px;
  background: rgba(0, 0, 0, 0.45);
}

.chat-messages::-webkit-scrollbar-thumb {
  width: 6px;
  min-height: 28px;
  background: linear-gradient(180deg, #2d3e4e 0%, #17222c 100%);
  border: 1px solid #4a637a;
  border-radius: 3px;
  box-shadow: inset 0 0 3px rgba(0, 229, 255, 0.2);
}

.chat-messages::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #3d546a 0%, #20303e 100%);
  border-color: #00e5ff;
}

.chat-msg-line {
  word-break: break-word;
}

.chat-time {
  color: #7f8c98;
  font-size: 10px;
  margin-right: 4px;
}

.chat-sender-global {
  color: #00ccff;
  font-weight: bold;
}

.chat-sender-general {
  color: #ffd700;
  font-weight: 900;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.7);
  letter-spacing: 0.3px;
}

.chat-sender-clan {
  color: #00ff88;
  font-weight: bold;
}

.chat-sender-group {
  color: #ffd700;
  font-weight: bold;
}

.chat-sender-whisper {
  color: #ffe538;
  font-weight: bold;
}

.chat-sender-system {
  color: #ffcc00;
  font-weight: bold;
}

.chat-sender-mod {
  color: #d0530f;
  font-weight: bold;
}

.chat-sender-emote {
  color: #ffd700;
  font-weight: bold;
}

.chat-text {
  color: #eeeeee;
}

.chat-text-general {
  color: #fff8dc;
  font-weight: 600;
  text-shadow: 0 0 4px rgba(255, 215, 0, 0.4);
}

.chat-text-whisper {
  color: #ffffaa;
  font-style: italic;
}

.chat-text-clan {
  color: #e0ffee;
}

.chat-text-invite {
  color: #ff00ff;
  text-decoration: underline;
  cursor: pointer;
}

/* Chat Input Bar */
.chat-input-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  background: linear-gradient(180deg, #0e141a 0%, #060a0e 100%);
  border-top: 1px solid #1c2732;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
}

#chat-input {
  flex: 1;
  background: #080c10;
  border: 1px solid #202b37;
  border-radius: 3px;
  color: #eeeeee;
  padding: 4px 8px;
  font-size: 11px;
  font-family: Tahoma, 'Segoe UI', Arial, sans-serif;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

#chat-input:focus {
  border-color: #00d0ff;
  box-shadow: 0 0 6px rgba(0, 208, 255, 0.35);
  background: #0b1117;
}

.chat-action-btn {
  background: linear-gradient(180deg, #1d252e 0%, #10151a 100%);
  border: 1px solid #364452;
  border-radius: 3px;
  color: #bfd0e0;
  padding: 3px 8px;
  font-size: 11px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  font-weight: 600;
}

.chat-action-btn:hover {
  background: linear-gradient(180deg, #283440 0%, #161e26 100%);
  color: #00e5ff;
  border-color: #00e5ff;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.3);
}

.chat-action-btn.btn-send {
  color: #ffd700;
  font-weight: bold;
}

.chat-action-btn.btn-send:hover {
  border-color: #ffd700;
  color: #ffffff;
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.4);
}

.chat-action-btn.btn-emotes {
  font-size: 9px;
  font-weight: 800;
  padding: 3px 6px;
  letter-spacing: 0.5px;
}

/* Stato Chiuso per la Finestra Chat */
#chat-window.chat-hidden {
  display: none !important;
}

/* ========================================================= */
/* DARKORBIT AUTHENTIC QUEST CENTER & HUD TRACKER (questWin.swf) */
/* ========================================================= */

#quest-modal.kr-floating-window,
.quest-window,
.do-quest-window {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  will-change: transform;
  width: 920px;
  height: 620px;
  min-width: 720px;
  min-height: 480px;
  max-width: 1400px;
  max-height: 960px;
  background: linear-gradient(180deg, rgba(14, 22, 32, 0.98) 0%, rgba(6, 12, 18, 0.99) 100%) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 20px rgba(0, 229, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  display: none;
  flex-direction: column;
  z-index: 75;
  user-select: none;
  font-family: 'Eurostile', Tahoma, Arial, sans-serif;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}

#quest-modal.kr-floating-window.kr-win-focused,
.do-quest-window.kr-win-focused {
  border-color: #00e5ff !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 24px rgba(0, 229, 255, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

#quest-modal.kr-floating-window.is-dragging,
.do-quest-window.is-dragging {
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.95),
    0 0 28px rgba(0, 229, 255, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  border-color: #00e5ff !important;
}

#quest-modal.kr-floating-window.kr-win-minimized {
  height: 28px !important;
  min-height: 28px !important;
  overflow: hidden !important;
}

#quest-modal.kr-floating-window.kr-win-minimized .quest-modal-body,
#quest-modal.kr-floating-window.kr-win-minimized .quest-nav-filter-bar {
  display: none !important;
}

/* Quest Window Header */
.quest-modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 8px 0 6px !important;
  background: linear-gradient(180deg, rgba(28, 42, 58, 0.95) 0%, rgba(12, 20, 28, 0.98) 100%) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.35) !important;
  user-select: none !important;
  cursor: grab;
}

.quest-modal-header:active {
  cursor: grabbing;
}

.quest-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.quest-header-grip {
  width: 14px;
  height: 14px;
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  opacity: 0.85;
  cursor: grab;
  transition: opacity 0.15s ease, filter 0.15s ease;
  flex-shrink: 0;
}

.quest-header-grip:hover {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_hover.png');
  opacity: 1;
  filter: drop-shadow(0 0 3px rgba(0, 229, 255, 0.8));
}

.quest-modal-header:active .quest-header-grip,
#quest-modal.is-dragging .quest-header-grip {
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_active.png');
  filter: drop-shadow(0 0 5px #ffd700);
  cursor: grabbing;
}

.quest-header-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex-shrink: 0;
}

.quest-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.8px;
  text-shadow: 0 0 4px rgba(0, 229, 255, 0.6);
  text-transform: uppercase;
}

.quest-header-badge {
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid rgba(255, 215, 0, 0.4);
  color: #ffd700;
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 9.5px;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
  letter-spacing: 0.5px;
}

.quest-header-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.quest-ctrl-btn {
  background: linear-gradient(180deg, #1f2730 0%, #0d1217 100%);
  border: 1px solid #384654;
  border-radius: 2px;
  color: #a0b8cc;
  cursor: pointer;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  padding: 0;
  transition: all 0.15s ease;
}

.quest-ctrl-btn:hover {
  background: #2a3542;
  color: #ffffff;
  border-color: #00e5ff;
  box-shadow: 0 0 5px rgba(0, 229, 255, 0.5);
}

.quest-ctrl-btn.kr-win-close:hover {
  border-color: #ff3344;
  color: #ff4455;
  box-shadow: 0 0 5px rgba(255, 51, 68, 0.5);
}

/* Subheader Navigation & Filter Bar */
.quest-nav-filter-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #090e14;
  border-bottom: 1px solid rgba(0, 229, 255, 0.25);
  padding: 4px 10px 0 10px;
  gap: 10px;
  flex-shrink: 0;
}

.quest-nav-tabs {
  display: flex;
  gap: 4px;
  align-items: flex-end;
}

.quest-tab-btn {
  height: 25px;
  padding: 0 14px;
  background: linear-gradient(180deg, #182330 0%, #0d141d 100%);
  border: 1px solid rgba(48, 70, 95, 0.7);
  border-bottom: none;
  border-radius: 3px 3px 0 0;
  color: #8fa6ba;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.quest-tab-btn:hover {
  background: linear-gradient(180deg, #223344 0%, #131c26 100%);
  color: #ffffff;
  border-color: rgba(0, 229, 255, 0.5);
}

.quest-tab-btn.active {
  background: linear-gradient(180deg, #1c3247 0%, #0e1d2c 100%);
  border-color: #00e5ff rgba(0, 229, 255, 0.5) #0e1d2c rgba(0, 229, 255, 0.5);
  border-top-width: 2px;
  color: #00e5ff;
  text-shadow: 0 0 6px rgba(0, 229, 255, 0.6);
  padding-bottom: 1px;
}

.quest-reset-badge {
  font-size: 9px;
  color: #ffaa00;
  background: rgba(255, 170, 0, 0.18);
  border: 1px solid rgba(255, 170, 0, 0.35);
  padding: 1px 5px;
  border-radius: 3px;
  font-family: monospace;
  font-weight: 700;
}

.quest-filter-pills {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-bottom: 4px;
}

.quest-filter-pill {
  height: 20px;
  padding: 0 8px;
  background: rgba(14, 22, 32, 0.85);
  border: 1px solid rgba(55, 80, 105, 0.6);
  border-radius: 2px;
  color: #7d96ab;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  transition: all 0.15s ease;
}

.quest-filter-pill:hover {
  background: rgba(24, 38, 54, 0.9);
  color: #ffffff;
  border-color: rgba(0, 229, 255, 0.5);
}

.quest-filter-pill.active {
  background: rgba(0, 229, 255, 0.2);
  border-color: #00e5ff;
  color: #ffffff;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.3);
}

.quest-sort-btn {
  width: 22px;
  height: 20px;
  background: rgba(14, 22, 32, 0.85);
  border: 1px solid rgba(55, 80, 105, 0.6);
  border-radius: 2px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: all 0.15s ease;
}

.quest-sort-btn:hover {
  border-color: #00e5ff;
  background: rgba(24, 38, 54, 0.9);
}

.quest-sort-arrow {
  width: 10px;
  height: 10px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}

.quest-sort-arrow.arrow-down {
  background-image: url('/assets/ui/darkorbit_ui/quests/arrow_down.png');
}

.quest-sort-arrow.arrow-up {
  background-image: url('/assets/ui/darkorbit_ui/quests/arrow_up.png');
}

/* Two-Column Body Layout */
.quest-modal-body {
  flex: 1;
  display: flex;
  overflow: hidden;
  background: #06090e;
}

/* Sidebar List */
.quest-sidebar-list {
  width: 380px;
  flex: 0 0 380px;
  border-right: 1px solid rgba(0, 229, 255, 0.25);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  background: #080d14;
  padding: 6px;
  gap: 4px;
}

.quest-sidebar-list::-webkit-scrollbar {
  width: 4px;
}

.quest-sidebar-list::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}

/* Quest Card Item */
.quest-card-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  background: linear-gradient(180deg, rgba(18, 28, 40, 0.75) 0%, rgba(10, 16, 24, 0.85) 100%);
  border: 1px solid rgba(38, 55, 75, 0.6);
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.quest-card-item:hover {
  background: linear-gradient(180deg, rgba(26, 40, 58, 0.9) 0%, rgba(14, 24, 35, 0.95) 100%);
  border-color: rgba(0, 229, 255, 0.55);
}

.quest-card-item.selected {
  background: linear-gradient(90deg, rgba(0, 229, 255, 0.18) 0%, rgba(18, 28, 40, 0.9) 100%);
  border-color: #00e5ff;
  border-left: 3px solid #00e5ff;
  box-shadow: inset 0 0 10px rgba(0, 229, 255, 0.15);
}

.quest-card-item.is-completed {
  border-left: 3px solid #ffd700;
}

.quest-card-badge-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
  filter: drop-shadow(0 0 3px rgba(0, 229, 255, 0.4));
}

.quest-card-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.quest-card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 6px;
}

.quest-card-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.quest-card-badge {
  font-size: 9px;
  padding: 1px 5px;
  border-radius: 2px;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  flex-shrink: 0;
}

.badge-available { background: rgba(0, 255, 136, 0.15); color: #00ff88; border: 1px solid rgba(0, 255, 136, 0.4); }
.badge-active { background: rgba(255, 215, 0, 0.15); color: #ffd700; border: 1px solid rgba(255, 215, 0, 0.4); }
.badge-completed { background: rgba(0, 229, 255, 0.2); color: #00e5ff; border: 1px solid #00e5ff; animation: questPulse 1.5s infinite; }
.badge-claimed { background: rgba(50, 60, 75, 0.4); color: #8899aa; border: 1px solid #384654; }

.quest-card-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: #7d96ab;
}

.quest-card-sublabel {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.quest-card-progress-txt {
  color: #00ffcc;
  font-weight: 600;
  flex-shrink: 0;
}

/* Right Detail Pane */
.quest-detail-pane {
  flex: 1;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  gap: 12px;
  background: #06090e;
}

.quest-detail-pane::-webkit-scrollbar {
  width: 5px;
}

.quest-detail-pane::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}

/* Advisor Box */
.quest-advisor-box {
  display: flex;
  gap: 14px;
  background: linear-gradient(180deg, rgba(12, 20, 29, 0.95) 0%, rgba(8, 12, 18, 0.98) 100%);
  border: 1px solid rgba(0, 229, 255, 0.35);
  border-radius: 4px;
  padding: 10px;
  box-shadow: inset 0 0 15px rgba(0, 229, 255, 0.05);
}

.quest-advisor-portrait-wrapper {
  width: 110px;
  height: 135px;
  flex-shrink: 0;
  border-radius: 3px;
  border: 1px solid rgba(0, 229, 255, 0.5);
  position: relative;
  overflow: hidden;
  background-color: #050a10;
  background-image: url('/assets/ui/darkorbit_ui/quests/nyx_background.png');
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.2);
}

.quest-advisor-portrait {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
  position: relative;
  z-index: 1;
}

.quest-advisor-nameplate {
  position: absolute;
  bottom: 3px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  justify-content: center;
  align-items: center;
}

.quest-advisor-nameplate img {
  max-width: 80px;
  height: auto;
  filter: drop-shadow(0 0 4px rgba(0, 229, 255, 0.8));
}

.quest-advisor-nameplate span {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 8.5px;
  font-weight: 900;
  color: #00e5ff;
  background: rgba(0, 0, 0, 0.8);
  border: 1px solid rgba(0, 229, 255, 0.5);
  padding: 1px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  white-space: nowrap;
}

.quest-briefing-bubble {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.quest-detail-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  border-bottom: 1px solid rgba(0, 229, 255, 0.2);
  padding-bottom: 6px;
  margin-bottom: 6px;
}

.quest-detail-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.quest-briefing-scroll {
  flex: 1;
  overflow-y: auto;
  max-height: 95px;
  padding-right: 4px;
}

.quest-briefing-scroll::-webkit-scrollbar {
  width: 4px;
}

.quest-briefing-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.25);
  border-radius: 2px;
}

.quest-detail-desc {
  font-size: 11.5px;
  color: #a0b8cc;
  line-height: 1.45;
}

/* Objectives Section */
.quest-objectives-box {
  background: rgba(12, 18, 26, 0.9);
  border: 1px solid rgba(38, 55, 75, 0.7);
  border-radius: 4px;
  padding: 10px 12px;
}

.quest-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.quest-section-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.quest-section-subtitle {
  font-size: 10px;
  font-weight: bold;
  color: #8fa6ba;
  font-family: monospace;
}

.quest-objectives-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.quest-obj-row {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.quest-obj-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}

.quest-obj-desc-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #ffffff;
  font-weight: 500;
}

.quest-checkbox-icon {
  width: 17px;
  height: 17px;
  object-fit: contain;
  flex-shrink: 0;
}

.quest-obj-count {
  font-family: monospace;
  font-weight: bold;
  font-size: 11px;
  color: #00ffcc;
}

.quest-obj-count.complete {
  color: #ffd700;
}

.quest-track-bar-outer {
  width: 100%;
  height: 10px;
  background-color: #081018;
  background-image: url('/assets/ui/darkorbit_ui/quests/track_bg.png');
  background-repeat: repeat-x;
  border: 1px solid #1f2f42;
  border-radius: 2px;
  overflow: hidden;
}

.quest-track-bar-inner {
  height: 100%;
  background: linear-gradient(90deg, #00aa44 0%, #00ff88 100%);
  border-radius: 1px;
  transition: width 0.3s ease;
}

.quest-track-bar-inner.complete {
  background: linear-gradient(90deg, #d4a017 0%, #ffd700 100%);
}

/* Rewards Section */
.quest-rewards-box {
  background: rgba(12, 18, 26, 0.9);
  border: 1px solid rgba(38, 55, 75, 0.7);
  border-radius: 4px;
  padding: 10px 12px;
}

.quest-rewards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 6px;
}

.quest-reward-pill {
  background: rgba(16, 24, 35, 0.9);
  border: 1px solid rgba(48, 70, 95, 0.7);
  border-radius: 3px;
  padding: 4px 8px;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: monospace;
  font-size: 11px;
  font-weight: bold;
  color: #ffffff;
}

/* Action Footer & Authentic Flash Buttons */
.quest-action-footer {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 229, 255, 0.2);
}

.btn-flash-quest {
  width: 165px;
  height: 28px;
  border: none;
  background-color: transparent;
  cursor: pointer;
  outline: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-shadow: 0 1px 2px #000;
  transition: filter 0.15s ease, opacity 0.15s ease;
  user-select: none;
  padding: 0;
}

.btn-flash-accept {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_green_normal.png');
  background-repeat: no-repeat;
  background-position: center;
}

.btn-flash-accept:hover {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_green_over.png');
  filter: drop-shadow(0 0 5px rgba(0, 255, 136, 0.6));
}

.btn-flash-accept:active {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_green_down.png');
}

.btn-flash-claim {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_blue_normal.png');
  background-repeat: no-repeat;
  background-position: center;
}

.btn-flash-claim:hover {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_blue_over.png');
  filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.8));
}

.btn-flash-claim:active {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_blue_down.png');
}

.btn-flash-inactive {
  background-image: url('/assets/ui/darkorbit_ui/quests/button_inactive.png');
  background-repeat: no-repeat;
  background-position: center;
  cursor: not-allowed;
  color: #7d90a0;
  opacity: 0.85;
}

.btn-flash-abort {
  width: auto;
  height: 28px;
  padding: 0 14px;
  background: linear-gradient(180deg, #2b1111 0%, #150606 100%);
  border: 1px solid #772222;
  border-radius: 3px;
  color: #ff6666;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  transition: all 0.15s ease;
}

.btn-flash-abort:hover {
  background: #3d1616;
  border-color: #ff4444;
  color: #ff9999;
  box-shadow: 0 0 6px rgba(255, 68, 68, 0.4);
}

/* ========================================================= */
/* QUEST HUD TRACKER (ActiveQuestWindow Parity) */
/* ========================================================= */

#quest-tracker-hud.kr-floating-window,
.do-quest-tracker {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  will-change: transform;
  width: 270px;
  background: linear-gradient(180deg, rgba(14, 22, 32, 0.96) 0%, rgba(6, 12, 18, 0.98) 100%) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.92),
    0 0 16px rgba(0, 229, 255, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  z-index: 60;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  font-family: 'Eurostile', Tahoma, Arial, sans-serif;
  user-select: none;
  overflow: hidden;
}

#quest-tracker-hud.kr-floating-window.kr-win-focused,
.do-quest-tracker.kr-win-focused {
  border-color: #00e5ff !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 20px rgba(0, 229, 255, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
}

#quest-tracker-hud.kr-floating-window.kr-win-minimized,
#quest-tracker-hud.minimized {
  height: 28px !important;
  min-height: 28px !important;
  overflow: hidden !important;
}

#quest-tracker-hud.kr-floating-window.kr-win-minimized .quest-tracker-body {
  display: none !important;
}

.quest-tracker-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  height: 28px !important;
  min-height: 28px !important;
  background: linear-gradient(180deg, rgba(28, 42, 58, 0.95) 0%, rgba(12, 20, 28, 0.98) 100%) !important;
  padding: 0 8px 0 6px !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.35) !important;
  cursor: grab;
}

.quest-tracker-header:active {
  cursor: grabbing;
}

.tracker-mini-btn {
  width: 18px;
  height: 18px;
  background: linear-gradient(180deg, #1f2730 0%, #0d1217 100%);
  border: 1px solid #384654;
  border-radius: 2px;
  color: #a0b8cc;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 11px;
  line-height: 1;
  padding: 0;
  transition: all 0.15s ease;
}

.tracker-mini-btn:hover {
  background: #2a3542;
  color: #ffffff;
  border-color: #00e5ff;
  box-shadow: 0 0 5px rgba(0, 229, 255, 0.5);
}

.tracker-mini-btn.kr-win-close:hover {
  border-color: #ff3344;
  color: #ff4455;
  box-shadow: 0 0 5px rgba(255, 51, 68, 0.5);
}

.quest-tracker-body {
  padding: 8px 10px;
  max-height: 320px;
  overflow-y: auto;
  background: rgba(6, 10, 15, 0.95);
}

.quest-tracker-body::-webkit-scrollbar {
  width: 4px;
}

.quest-tracker-body::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.25);
  border-radius: 2px;
}

.tracker-item {
  background: linear-gradient(180deg, rgba(18, 28, 40, 0.8) 0%, rgba(10, 16, 24, 0.9) 100%);
  border: 1px solid rgba(38, 55, 75, 0.65);
  border-radius: 3px;
  padding: 6px 8px;
  margin-bottom: 6px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.tracker-item:hover {
  background: linear-gradient(180deg, rgba(26, 40, 58, 0.9) 0%, rgba(14, 24, 35, 0.95) 100%);
  border-color: rgba(0, 229, 255, 0.5);
}

.tracker-item:last-child {
  margin-bottom: 0;
}





/* ==========================================================================
   26. CASSELLA POSTALE & RICOMPENSE DARKORBIT 1:1 (.do-mailbox-window)
   ========================================================================== */

.do-mailbox-window {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  bottom: auto !important;
  will-change: transform;
  width: 860px;
  height: 560px;
  min-width: 680px;
  min-height: 420px;
  max-width: 1200px;
  max-height: 800px;
  background: linear-gradient(180deg, rgba(14, 22, 32, 0.98) 0%, rgba(6, 12, 18, 0.99) 100%) !important;
  border: 1px solid rgba(0, 229, 255, 0.45) !important;
  border-radius: 4px !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 20px rgba(0, 229, 255, 0.25),
    inset 0 1px 0 rgba(255, 255, 255, 0.15) !important;
  display: none;
  flex-direction: column;
  z-index: 75;
  user-select: none;
  font-family: 'Eurostile', Tahoma, Arial, sans-serif;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow: hidden;
}

.do-mailbox-window.kr-win-focused {
  border-color: #00e5ff !important;
  box-shadow: 
    0 8px 32px rgba(0, 0, 0, 0.95),
    0 0 24px rgba(0, 229, 255, 0.45),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
}

.do-mailbox-window.is-dragging {
  box-shadow: 
    0 12px 40px rgba(0, 0, 0, 0.95),
    0 0 28px rgba(0, 229, 255, 0.55),
    inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
  border-color: #00e5ff !important;
}

.do-mailbox-window.kr-win-minimized {
  height: 28px !important;
  min-height: 28px !important;
  overflow: hidden !important;
}

.do-mailbox-window.kr-win-minimized .mailbox-modal-body,
.do-mailbox-window.kr-win-minimized .mailbox-nav-bar {
  display: none !important;
}

/* Mailbox Window Header */
.mailbox-modal-header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 8px 0 6px !important;
  background: linear-gradient(180deg, rgba(28, 42, 58, 0.95) 0%, rgba(12, 20, 28, 0.98) 100%) !important;
  border-bottom: 1px solid rgba(0, 229, 255, 0.35) !important;
  user-select: none !important;
  cursor: grab;
}

.mailbox-modal-header:active {
  cursor: grabbing;
}

.mailbox-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.mailbox-header-grip {
  width: 14px;
  height: 14px;
  background-image: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png');
  background-size: contain;
  background-repeat: no-repeat;
  image-rendering: auto;
  opacity: 0.8;
}

.mailbox-header-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  image-rendering: auto;
}

.mailbox-header-title {
  font-size: 11px;
  font-weight: 700;
  color: #00e5ff;
  letter-spacing: 1.5px;
  text-shadow: 0 0 8px rgba(0, 229, 255, 0.6);
}

.mailbox-header-badge {
  font-size: 9px;
  padding: 1px 6px;
  border-radius: 2px;
  background: rgba(255, 170, 0, 0.2);
  border: 1px solid rgba(255, 170, 0, 0.5);
  color: #ffaa00;
  letter-spacing: 0.5px;
}

.mailbox-header-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.mailbox-ctrl-btn {
  width: 16px;
  height: 16px;
  background: rgba(10, 20, 30, 0.8);
  border: 1px solid rgba(0, 229, 255, 0.4);
  color: #00e5ff;
  font-size: 11px;
  line-height: 14px;
  text-align: center;
  cursor: pointer;
  border-radius: 2px;
  transition: all 0.15s ease;
  padding: 0;
}

.mailbox-ctrl-btn:hover {
  background: rgba(0, 229, 255, 0.25);
  border-color: #00e5ff;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.6);
}

/* Mailbox Navigation Bar */
.mailbox-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  background: rgba(8, 14, 22, 0.95);
  border-bottom: 1px solid rgba(0, 229, 255, 0.2);
}

.mailbox-nav-tabs {
  display: flex;
  gap: 4px;
}

.mailbox-tab-btn {
  background: linear-gradient(180deg, rgba(20, 32, 45, 0.9) 0%, rgba(10, 16, 24, 0.95) 100%);
  border: 1px solid rgba(0, 229, 255, 0.25);
  border-radius: 3px;
  color: #8faec9;
  font-size: 10px;
  font-weight: bold;
  padding: 4px 12px;
  cursor: pointer;
  letter-spacing: 1px;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s ease;
}

.mailbox-tab-btn:hover {
  background: linear-gradient(180deg, rgba(30, 48, 68, 0.9) 0%, rgba(14, 24, 36, 0.95) 100%);
  border-color: rgba(0, 229, 255, 0.6);
  color: #e0f4ff;
}

.mailbox-tab-btn.active {
  background: linear-gradient(180deg, rgba(0, 150, 200, 0.4) 0%, rgba(0, 60, 90, 0.6) 100%);
  border-color: #00e5ff;
  color: #00f0ff;
  box-shadow: inset 0 0 8px rgba(0, 229, 255, 0.4);
}

.mailbox-tab-counter {
  font-size: 9px;
  background: rgba(0, 229, 255, 0.2);
  border-radius: 8px;
  padding: 0 5px;
  color: #00e5ff;
}

.mailbox-actions-bar {
  display: flex;
  align-items: center;
  gap: 8px;
}

.btn-mailbox-action {
  background: linear-gradient(180deg, #1c3b4a 0%, #0d202b 100%);
  border: 1px solid #00e5ff;
  border-radius: 3px;
  color: #00f0ff;
  font-size: 10px;
  font-weight: 700;
  padding: 4px 12px;
  cursor: pointer;
  letter-spacing: 0.8px;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.2);
}

.btn-mailbox-action:hover {
  background: linear-gradient(180deg, #28556b 0%, #132f40 100%);
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.5);
  color: #ffffff;
}

.btn-mailbox-action:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  border-color: #405565;
  color: #657e8f;
  box-shadow: none;
}

/* Mailbox Main Body */
.mailbox-modal-body {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  background: rgba(6, 10, 16, 0.98);
}

/* Sidebar List */
.mailbox-sidebar {
  width: 290px;
  min-width: 250px;
  border-right: 1px solid rgba(0, 229, 255, 0.25);
  display: flex;
  flex-direction: column;
  background: rgba(10, 16, 24, 0.85);
}

.mailbox-list-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.mailbox-list-scroll::-webkit-scrollbar {
  width: 5px;
}

.mailbox-list-scroll::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}

/* Mail Item Row */
.mailbox-mail-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  border-radius: 3px;
  background: linear-gradient(180deg, rgba(16, 26, 38, 0.9) 0%, rgba(9, 15, 23, 0.95) 100%);
  border: 1px solid rgba(40, 65, 90, 0.5);
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
}

.mailbox-mail-item:hover {
  background: linear-gradient(180deg, rgba(24, 40, 60, 0.95) 0%, rgba(13, 22, 34, 0.98) 100%);
  border-color: rgba(0, 229, 255, 0.5);
  transform: translateX(2px);
}

.mailbox-mail-item.selected {
  background: linear-gradient(180deg, rgba(0, 100, 140, 0.4) 0%, rgba(0, 45, 65, 0.7) 100%);
  border-color: #00e5ff;
  box-shadow: inset 0 0 10px rgba(0, 229, 255, 0.3);
}

.mailbox-mail-item.unread {
  border-left: 3px solid #ffaa00;
}

.mail-item-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  image-rendering: auto;
  flex-shrink: 0;
}

.mail-item-details {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mail-item-sender {
  font-size: 9px;
  color: #7b9bb5;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mail-item-subject {
  font-size: 11px;
  font-weight: 700;
  color: #e0f4ff;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mailbox-mail-item.unread .mail-item-subject {
  color: #ffd700;
}

.mail-item-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
}

.mail-item-date {
  font-size: 9px;
  color: #557088;
}

.mail-tag-badge {
  font-size: 8px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.mail-tag-reward {
  background: rgba(0, 255, 136, 0.15);
  border: 1px solid rgba(0, 255, 136, 0.4);
  color: #00ff88;
}

.mail-tag-info {
  background: rgba(0, 229, 255, 0.15);
  border: 1px solid rgba(0, 229, 255, 0.4);
  color: #00e5ff;
}

/* Detail Pane */
.mailbox-detail-pane {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(8, 14, 22, 0.95) 0%, rgba(4, 8, 14, 0.98) 100%);
  position: relative;
}

.mailbox-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 30px;
  text-align: center;
}

.empty-state-icon {
  width: 48px;
  height: 48px;
  opacity: 0.35;
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.2));
}

.empty-state-title {
  font-size: 13px;
  font-weight: 700;
  color: #5b7994;
  letter-spacing: 1.5px;
}

.empty-state-sub {
  font-size: 11px;
  color: #3f5567;
  max-width: 320px;
  line-height: 1.4;
}

.mailbox-detail-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow-y: auto;
  padding: 16px 20px;
  gap: 14px;
}

.mailbox-detail-content::-webkit-scrollbar {
  width: 5px;
}

.mailbox-detail-content::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}

.mailbox-detail-header {
  border-bottom: 1px solid rgba(0, 229, 255, 0.2);
  padding-bottom: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

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

.detail-sender {
  font-size: 10px;
  font-weight: 700;
  color: #00e5ff;
  letter-spacing: 1.2px;
}

.detail-date {
  font-size: 10px;
  color: #68859e;
}

.detail-subject {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.4);
}

.detail-meta-bar {
  display: flex;
  align-items: center;
  gap: 12px;
}

.detail-badge-type {
  font-size: 9px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 2px;
  background: rgba(0, 255, 136, 0.2);
  border: 1px solid #00ff88;
  color: #00ff88;
  letter-spacing: 0.8px;
}

.detail-expiry {
  font-size: 10px;
  color: #8faec9;
}

.mailbox-detail-body {
  background: rgba(12, 20, 30, 0.6);
  border: 1px solid rgba(0, 229, 255, 0.15);
  border-radius: 4px;
  padding: 12px 14px;
}

.detail-message-text {
  margin: 0;
  font-size: 12px;
  line-height: 1.55;
  color: #c0d8ec;
  white-space: pre-wrap;
}

/* Rewards Section (eventRewardsUI.swf Parity) */
.mailbox-rewards-section {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(8, 14, 22, 0.8);
  border: 1px solid rgba(0, 229, 255, 0.2);
  border-radius: 4px;
  padding: 12px;
}

.mailbox-section-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mailbox-section-title {
  font-size: 12px;
  font-weight: 700;
  color: #ffd700;
  letter-spacing: 1.2px;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.mailbox-section-sub {
  font-size: 10px;
  color: #728ea6;
}

.mailbox-cards-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 8px 0;
}

/* Card Ricompensa con icon_bg_blue.png (99x159px Flash Parity) */
.mailbox-card-item {
  width: 99px;
  height: 159px;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/icon_bg_blue.png');
  background-size: cover;
  background-repeat: no-repeat;
  image-rendering: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 12px 6px 14px 6px;
  box-sizing: border-box;
  position: relative;
  transition: transform 0.15s ease, filter 0.15s ease;
}

.mailbox-card-item:hover {
  transform: translateY(-2px);
  filter: brightness(1.1) drop-shadow(0 0 8px rgba(0, 229, 255, 0.4));
}

.card-item-icon-box {
  width: 70px;
  height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}

.card-item-icon {
  width: 56px;
  height: 56px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.5));
}

.card-item-qty {
  font-size: 13px;
  font-weight: 800;
  color: #ffd700;
  text-shadow: 0 0 6px rgba(255, 215, 0, 0.6), 0 1px 2px #000000;
  letter-spacing: 0.5px;
  text-align: center;
}

.card-item-label {
  font-size: 9px;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  max-width: 85px;
  line-height: 1.15;
  text-shadow: 0 1px 2px #000000;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Action Footer (confirmation_button_green_long Parity 190x33px) */
.mailbox-action-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 6px;
  border-top: 1px solid rgba(0, 229, 255, 0.15);
  margin-top: auto;
}

.btn-flash-mail-delete {
  background: linear-gradient(180deg, rgba(40, 20, 20, 0.8) 0%, rgba(25, 10, 10, 0.9) 100%);
  border: 1px solid rgba(255, 51, 51, 0.4);
  border-radius: 3px;
  color: #ff6b8b;
  font-size: 10px;
  font-weight: 700;
  padding: 6px 14px;
  cursor: pointer;
  letter-spacing: 0.8px;
  transition: all 0.15s ease;
}

.btn-flash-mail-delete:hover {
  background: linear-gradient(180deg, rgba(60, 25, 25, 0.9) 0%, rgba(35, 12, 12, 0.95) 100%);
  border-color: #ff3333;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 51, 51, 0.4);
}

.btn-flash-mail-claim {
  width: 190px;
  height: 33px;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: cover;
  background-repeat: no-repeat;
  image-rendering: auto;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: filter 0.15s ease;
}

.btn-flash-mail-claim:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
}

.btn-flash-mail-claim:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}

.btn-flash-mail-claim:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.6);
}

.btn-claim-text {
  font-size: 11px;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: 1px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  pointer-events: none;
}

.badge-claimed-status {
  padding: 6px 14px;
  border-radius: 3px;
  background: rgba(0, 255, 136, 0.15);
  border: 1px solid rgba(0, 255, 136, 0.4);
  color: #00ff88;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1px;
}

/* ==========================================================================
   27. CALENDARIO LOGIN GIORNALIERO & EVENTI PRIME-TIME (DARKORBIT 1:1 PARITY)
   ========================================================================== */

.do-calendar-window {
  width: 860px;
  min-width: 700px;
  max-width: 95vw;
  height: 560px;
  min-height: 440px;
  max-height: 85vh;
  background: linear-gradient(180deg, #121921 0%, #090e13 100%);
  border: 2px solid #283745;
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.85), inset 0 0 15px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ffffff;
}

.calendar-modal-header {
  height: 36px;
  background: #15202b;
  border-bottom: 1px solid #283745;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  cursor: move;
  flex-shrink: 0;
}

.calendar-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.calendar-header-grip {
  width: 13px;
  height: 18px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  opacity: 0.7;
}

.calendar-header-icon {
  width: 20px;
  height: 20px;
  image-rendering: auto;
}

.calendar-header-title {
  font-size: 13px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.calendar-header-badge {
  font-size: 10px;
  font-weight: 700;
  color: #ffd700;
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid rgba(255, 215, 0, 0.35);
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}

.calendar-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.calendar-ctrl-btn {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #2f4050;
  background: #111a22;
  color: #8da4b5;
  cursor: pointer;
  border-radius: 2px;
  font-size: 13px;
  transition: all 0.15s ease;
}

.calendar-ctrl-btn:hover {
  background: #1d2b38;
  color: #00e5ff;
  border-color: #00e5ff;
}

.calendar-ctrl-btn.kr-win-close {
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  width: 20px;
  height: 20px;
}

.calendar-ctrl-btn.kr-win-close:hover {
  background-position: center 0px;
}

.calendar-nav-bar {
  height: 38px;
  background: #0d141b;
  border-bottom: 1px solid #202c38;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  flex-shrink: 0;
}

.calendar-nav-tabs {
  display: flex;
  gap: 4px;
  height: 100%;
  align-items: flex-end;
}

.calendar-tab-btn {
  height: 32px;
  padding: 0 14px;
  background: linear-gradient(180deg, #18232c 0%, #10171d 100%);
  border: 1px solid #243543;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  color: #829cae;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}

.calendar-tab-btn:hover {
  color: #00e5ff;
  background: linear-gradient(180deg, #202f3c 0%, #131c24 100%);
}

.calendar-tab-btn.active {
  color: #ffffff;
  background: #121921;
  border-color: #00e5ff;
  border-bottom: 2px solid #00e5ff;
}

.calendar-tab-counter {
  background: #00ff88;
  color: #000000;
  font-size: 9px;
  font-weight: 900;
  padding: 0 5px;
  border-radius: 8px;
  height: 14px;
  line-height: 14px;
}

.calendar-modal-body {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.calendar-tab-pane {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* Tab 1: Daily Login */
.daily-login-header-banner {
  background: linear-gradient(90deg, rgba(0, 229, 255, 0.08) 0%, rgba(13, 20, 27, 0.6) 100%);
  border-bottom: 1px solid #1e2c38;
  padding: 10px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.banner-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.banner-title {
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.6px;
}

.banner-sub {
  font-size: 11px;
  color: #7e99ab;
}

.banner-streak-wrap {
  display: flex;
  align-items: center;
  gap: 6px;
  background: rgba(255, 215, 0, 0.1);
  border: 1px solid rgba(255, 215, 0, 0.3);
  padding: 4px 10px;
  border-radius: 3px;
}

.streak-label {
  font-size: 10px;
  color: #8da4b5;
  font-weight: 700;
}

.streak-value {
  font-size: 12px;
  color: #ffd700;
  font-weight: 900;
}

.daily-login-grid-wrap {
  flex: 1;
  overflow-y: auto;
  padding: 12px 16px;
}

.daily-login-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
}

.daily-card {
  position: relative;
  height: 68px;
  background: #0c1218;
  border: 1px solid #1f2d3a;
  border-radius: 4px;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: all 0.2s ease;
}

.daily-card:hover {
  border-color: #2e4458;
}

.daily-card.claimed {
  opacity: 0.6;
  border-color: rgba(0, 255, 136, 0.35);
  background: rgba(0, 30, 15, 0.25);
}

.daily-card.today-claimable {
  border: 2px solid #ffd700;
  background: rgba(255, 215, 0, 0.08);
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.45);
  animation: dailyGlow 1.8s infinite alternate;
}

@keyframes dailyGlow {
  0% { box-shadow: 0 0 8px rgba(255, 215, 0, 0.3); }
  100% { box-shadow: 0 0 18px rgba(255, 215, 0, 0.7); }
}

.daily-card.grand-prize {
  border: 1px solid #f59e0b;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.15) 0%, #0c1218 100%);
}

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

.daily-card-day {
  font-size: 9.5px;
  font-weight: 800;
  color: #7e99ab;
  letter-spacing: 0.5px;
}

.daily-card.today-claimable .daily-card-day {
  color: #ffd700;
}

.daily-card.claimed .daily-card-day {
  color: #00ff88;
}

.daily-card-badge {
  font-size: 8.5px;
  font-weight: 900;
  padding: 1px 4px;
  border-radius: 2px;
}

.badge-claimed {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
}

.badge-today {
  background: #ffd700;
  color: #000000;
}

.badge-locked {
  background: rgba(120, 140, 160, 0.15);
  color: #64748b;
}

.daily-card-content {
  display: flex;
  align-items: center;
  gap: 8px;
}

.daily-card-icon {
  width: 28px;
  height: 28px;
  object-fit: contain;
  flex-shrink: 0;
}

.daily-card-label {
  font-size: 10.5px;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}

.daily-login-footer-bar {
  height: 52px;
  background: #0a0f14;
  border-top: 1px solid #1e2c38;
  padding: 0 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.daily-footer-info {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #8da4b5;
}

.btn-daily-claim-action {
  width: 220px;
  height: 34px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  transition: filter 0.15s ease;
}

.btn-daily-claim-action:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
}

.btn-daily-claim-action:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}

.btn-daily-claim-action:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.5);
}

/* ==========================================================================
   27.2 PRIME-TIME SETTIMANALE, TORNEI E-SPORT & INVASION GATE (DARKORBIT 1:1)
   ========================================================================== */

/* Panes container layout & scrollbars */
#pane-cal-primetime {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
}

#cal-pt-schedule-grid {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px;
  min-height: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}

#pane-cal-tournament,
#pane-cal-invasion {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

#cal-pt-tournament-content,
#cal-pt-invasion-content {
  display: flex;
  flex-direction: column;
  width: 100%;
}

#cal-pt-schedule-grid::-webkit-scrollbar,
#pane-cal-tournament::-webkit-scrollbar,
#pane-cal-invasion::-webkit-scrollbar {
  width: 5px;
}

#cal-pt-schedule-grid::-webkit-scrollbar-thumb,
#pane-cal-tournament::-webkit-scrollbar-thumb,
#pane-cal-invasion::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}

#cal-pt-schedule-grid::-webkit-scrollbar-thumb:hover,
#pane-cal-tournament::-webkit-scrollbar-thumb:hover,
#pane-cal-invasion::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 229, 255, 0.5);
}

/* Tab 2: Live Bar & Schedule Grid */
.pt-live-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #090e13;
  border-bottom: 1px solid #1e2c38;
  padding: 8px 16px;
  font-size: 11px;
  flex-shrink: 0;
}

.pt-live-clock {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
}

.pt-live-banner {
  color: #8da4b5;
  display: flex;
  align-items: center;
  gap: 8px;
}

.pt-badge-live {
  background: #f43f5e;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  animation: ptLiveBlink 1.0s infinite alternate;
}

@keyframes ptLiveBlink {
  0% { opacity: 0.6; }
  100% { opacity: 1; }
}

.pt-badge-warn {
  background: #ffd700;
  color: #000000;
  font-size: 10px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
}

.pt-calendar-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 12px;
}

.pt-day-card {
  background: linear-gradient(180deg, #121921 0%, #0b1015 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: all 0.2s ease;
  position: relative;
}

.pt-day-card:hover {
  border-color: #385065;
  background: linear-gradient(180deg, #17212c 0%, #0e151c 100%);
}

.pt-day-card.today {
  border-color: #ffd700;
  background: linear-gradient(180deg, #1a2218 0%, #0d1612 100%);
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.25);
}

.pt-day-card.live {
  border-color: #00ff88;
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.35);
  animation: ptCardGlow 2s infinite alternate;
}

@keyframes ptCardGlow {
  0% { box-shadow: 0 0 10px rgba(0, 255, 136, 0.2); }
  100% { box-shadow: 0 0 20px rgba(0, 255, 136, 0.5); }
}

.pt-day-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #1e2c38;
  padding-bottom: 6px;
}

.pt-day-name {
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.pt-today-tag {
  background: #ffd700;
  color: #000000;
  font-size: 10px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
}

.pt-live-tag {
  background: #00ff88;
  color: #000000;
  font-size: 10px;
  font-weight: 900;
  padding: 1px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  animation: ptLiveBlink 1s infinite alternate;
}

.pt-day-title {
  font-size: 12px;
  font-weight: 800;
  color: #00e5ff;
}

.pt-day-desc {
  font-size: 11px;
  color: #8da4b5;
  line-height: 1.45;
  flex-grow: 1;
}

.pt-day-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1a2530;
  border-radius: 3px;
  padding: 5px 8px;
  margin-top: 4px;
}

.pt-map-tag {
  color: #7e99ab;
  font-weight: 600;
}

.pt-time-tag {
  color: #ffd700;
  font-weight: 800;
}

/* Tab 3: Tornei E-Sport (UBA / JPA) */
.pt-tournament-view {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pt-tour-card {
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.pt-tour-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #1e2c38;
  padding-bottom: 10px;
}

.pt-tour-badge {
  font-size: 11px;
  font-weight: 900;
  padding: 4px 10px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}

.badge-uba {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
  border: 1px solid #00ff88;
}

.badge-jpa {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
  border: 1px solid #ffd700;
}

.pt-tour-rules-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 10px;
}

.pt-rule-box {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1c2834;
  border-radius: 4px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pt-rule-title {
  font-size: 10.5px;
  color: #00e5ff;
  font-weight: 800;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.pt-tour-rewards {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1c2834;
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pt-reward-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pt-reward-chip {
  background: linear-gradient(180deg, #1b2632 0%, #101820 100%);
  border: 1px solid #2d4255;
  border-radius: 3px;
  color: #ffd700;
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  letter-spacing: 0.5px;
}

.pt-tour-queue-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid #1c2834;
  border-radius: 4px;
  padding: 14px;
}

.pt-queue-stats {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  color: #8da4b5;
}

.pt-queue-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 4px;
}

.pt-btn-action {
  width: 100%;
  max-width: 380px;
  height: 38px;
  border-radius: 3px;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  text-transform: uppercase;
}

.pt-btn-action.btn-join {
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

.pt-btn-action.btn-join:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
}

.pt-btn-action.btn-join:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}

.pt-btn-action.btn-leave {
  background: linear-gradient(180deg, #991b1b 0%, #591010 100%);
  border: 1px solid #ef4444;
  color: #ffffff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

.pt-btn-action.btn-leave:hover {
  background: linear-gradient(180deg, #dc2626 0%, #7f1d1d 100%);
  box-shadow: 0 0 12px rgba(239, 68, 68, 0.4);
}

.pt-queue-indicator {
  font-size: 11px;
  color: #7e99ab;
}

/* Tab 4: Invasion Gate (Martedì) */
.pt-invasion-view {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pt-invasion-banner {
  background: linear-gradient(90deg, rgba(0, 229, 255, 0.12) 0%, rgba(13, 20, 27, 0.6) 100%);
  border: 1px solid #1e3547;
  border-radius: 4px;
  padding: 12px 16px;
}

.pt-tiers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 12px;
}

.pt-tier-card {
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: all 0.2s ease;
}

.pt-tier-card:hover {
  border-color: #385065;
  background: linear-gradient(180deg, #17212c 0%, #0e151c 100%);
}

.pt-tier-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #1e2c38;
  padding-bottom: 6px;
}

.pt-tier-tag {
  background: #10b981;
  color: #ffffff;
  font-size: 10px;
  font-weight: 900;
  padding: 2px 7px;
  border-radius: 2px;
  letter-spacing: 0.5px;
}

.pt-tier-desc {
  font-size: 11px;
  color: #8da4b5;
  line-height: 1.45;
}

.pt-tier-rewards {
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1c2834;
  border-radius: 3px;
  padding: 8px 10px;
  margin-top: auto;
}

.pt-reward-sub {
  font-size: 10px;
  font-weight: 700;
  color: #7e99ab;
  display: block;
  margin-bottom: 3px;
  letter-spacing: 0.5px;
}

.pt-invasion-status-box {
  background: linear-gradient(180deg, #121921 0%, #090e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pt-session-details {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 10px;
  font-size: 11px;
  margin-top: 4px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid #1a2530;
  border-radius: 3px;
  padding: 10px 12px;
}

/* ==========================================================================
   28. GALAXY GATES & MATERIALIZZATORE UNIFICATO (DARKORBIT 1:1 PARITY)
   ========================================================================== */

.do-galaxygates-window {
  width: 980px;
  min-width: 820px;
  max-width: 96vw;
  height: 680px;
  min-height: 540px;
  max-height: 92vh;
  background: linear-gradient(180deg, #121921 0%, #080d12 100%);
  border: 2px solid #283745;
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.85), inset 0 0 15px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #c4d0dc;
  z-index: 120;
}

.galaxygates-modal-header {
  height: 36px;
  background: #15202b;
  border-bottom: 1px solid #283745;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  cursor: move;
  flex-shrink: 0;
}

.galaxygates-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.galaxygates-header-grip {
  width: 13px;
  height: 18px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  opacity: 0.7;
}

.galaxygates-header-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.galaxygates-header-title {
  font-size: 13px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.gg-rates-btn {
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 800;
  font-family: inherit;
  background: rgba(0, 229, 255, 0.12);
  border: 1px solid #00e5ff;
  color: #00e5ff;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: 0.5px;
}
.gg-rates-btn:hover {
  background: rgba(0, 229, 255, 0.25);
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.4);
}

.galaxygates-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.galaxygates-ctrl-btn {
  width: 16px;
  height: 16px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
}

/* Nav Tabs Bar (5 Cancelli) */
.galaxygates-nav-bar {
  background: #0d141b;
  border-bottom: 1px solid #1f2c38;
  padding: 0 12px;
  display: flex;
  align-items: center;
  height: 38px;
  flex-shrink: 0;
}

.galaxygates-nav-tabs {
  display: flex;
  gap: 6px;
}

.gg-nav-tab {
  background: linear-gradient(180deg, #18222b 0%, #0f161d 100%);
  border: 1px solid #263543;
  border-bottom: none;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 7px 14px;
  color: #7e99ab;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  position: relative;
}

.gg-nav-tab:hover {
  color: #00e5ff;
  background: linear-gradient(180deg, #202f3c 0%, #131c24 100%);
}

.gg-nav-tab.active {
  color: #ffd700;
  background: #121921;
  border-color: #ffd700;
  border-top: 2px solid #ffd700;
  box-shadow: 0 -2px 8px rgba(255, 215, 0, 0.2);
}

.gg-tab-counter {
  font-size: 9.5px;
  font-weight: 900;
  font-family: monospace;
  padding: 1px 5px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.45);
  color: #7e99ab;
  border: 1px solid #1a2530;
}

.gg-nav-tab.active .gg-tab-counter {
  color: #ffd700;
  border-color: rgba(255, 215, 0, 0.4);
}

.gg-tab-counter.complete {
  background: rgba(0, 255, 136, 0.2);
  color: #00ff88;
  border-color: #00ff88;
}

/* Modal Body */
.galaxygates-modal-body {
  flex: 1;
  display: flex;
  padding: 14px;
  gap: 14px;
  overflow: hidden;
  background: #090e13;
  min-height: 0;
}

/* Left Panel: Gate Visualizer & Assembly */
.gg-left-panel {
  flex: 1.1;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 14px;
  position: relative;
  overflow: hidden;
  min-height: 0;
}

.gg-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-shrink: 0;
}

.gg-gate-title {
  font-size: 16px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
}

.gg-gate-subtitle {
  font-size: 11px;
  color: #7e99ab;
  margin-top: 2px;
}

.gg-parts-count {
  font-size: 16px;
  font-weight: 900;
  color: #00e5ff;
}

.gg-parts-count.complete {
  color: #00ff88;
}

.gg-parts-label {
  font-size: 10px;
  font-weight: 800;
  color: #7e99ab;
  letter-spacing: 0.5px;
}

.gg-progress-bar-wrap {
  width: 100%;
  height: 8px;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 4px;
  margin-top: 8px;
  overflow: hidden;
  border: 1px solid #1e2c38;
  flex-shrink: 0;
}

.gg-progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #0284c7, #38bdf8);
  transition: width 0.3s ease;
}

.gg-progress-bar-fill.complete {
  background: linear-gradient(90deg, #00c853, #00ff88);
}

.gg-rewards-preview {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 8px;
  font-size: 11px;
  background: rgba(0, 0, 0, 0.4);
  padding: 6px 10px;
  border-radius: 4px;
  border: 1px solid #1c2834;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
}

.gg-rewards-label {
  color: #7e99ab;
  font-weight: 800;
}

.gg-rewards-chips {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}

/* Viewport 235x290px Layered Parts */
.gg-viewport-container {
  flex: 1;
  position: relative;
  margin: 10px 0;
  background: #020617;
  border: 1px solid #1e2c38;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}

.gg-viewport-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.85;
}

.gg-viewport-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle, rgba(0, 0, 0, 0.2) 0%, rgba(2, 6, 23, 0.7) 100%);
  pointer-events: none;
}

.gg-viewport-stage {
  position: relative;
  width: 235px;
  height: 290px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.gg-part-piece {
  position: absolute;
  inset: 0;
  width: 235px;
  height: 290px;
  object-fit: contain;
  pointer-events: none;
  z-index: 5;
  filter: drop-shadow(0 0 6px rgba(0, 180, 255, 0.65));
  transition: all 0.3s ease;
}

.gg-final-gate-img {
  position: absolute;
  inset: 0;
  width: 235px;
  height: 290px;
  object-fit: contain;
  pointer-events: none;
  z-index: 10;
  filter: drop-shadow(0 0 25px rgba(56, 189, 248, 0.95));
  animation: ggPulseFinal 3s infinite alternate;
}

@keyframes ggPulseFinal {
  0% { filter: drop-shadow(0 0 15px rgba(56, 189, 248, 0.7)); transform: scale(1); }
  100% { filter: drop-shadow(0 0 30px rgba(0, 255, 200, 1)); transform: scale(1.02); }
}

.gg-construction-empty {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-size: 13px;
  z-index: 2;
  pointer-events: none;
  text-align: center;
  padding: 20px;
}

/* Left Panel Footer Controls */
.gg-left-footer {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid #1e2c38;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
}

.gg-lives-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gg-lives-text {
  font-size: 12px;
  font-weight: 800;
  color: #f43f5e;
}

.gg-btn-buy-life {
  padding: 3px 8px;
  font-size: 10.5px;
  font-weight: 800;
  background: rgba(244, 63, 94, 0.15);
  border: 1px solid #f43f5e;
  color: #f43f5e;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.gg-btn-buy-life:hover {
  background: rgba(244, 63, 94, 0.3);
  box-shadow: 0 0 8px rgba(244, 63, 94, 0.4);
}

.btn-gg-action {
  width: 220px;
  height: 34px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
  transition: filter 0.15s ease;
  text-transform: uppercase;
}
.btn-gg-action:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
}
.btn-gg-action:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}
.btn-gg-action:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.5);
}

.gg-placed-status-box {
  padding: 6px 12px;
  background: rgba(0, 255, 136, 0.12);
  border: 1px solid #00ff88;
  border-radius: 4px;
  text-align: right;
}

/* Right Panel: Spinner & Materializer */
.gg-right-panel {
  flex: 0.9;
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 14px;
  overflow: hidden;
  min-height: 0;
}

.gg-resources-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid #1e2c38;
  flex-shrink: 0;
}

.gg-multiplier-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.gg-multiplier-val {
  font-size: 20px;
  font-weight: 900;
  color: #7e99ab;
}

.gg-multiplier-val.active {
  color: #ffd700;
  text-shadow: 0 0 10px rgba(255, 215, 0, 0.8);
}

.gg-spin-options-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 10px 0;
  font-size: 11px;
  gap: 8px;
  flex-shrink: 0;
}

.gg-batch-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-bottom: 4px;
  flex-shrink: 0;
}

.gg-spin-btn {
  background: linear-gradient(180deg, #1a2530 0%, #101820 100%);
  border: 1px solid #26384a;
  color: #c4d0dc;
  font-family: 'Eurostile', Arial, sans-serif;
  font-weight: 900;
  padding: 8px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  transition: all 0.15s ease;
}
.gg-spin-btn:hover:not(:disabled) {
  border-color: #ffd700;
  color: #ffd700;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.25);
  transform: translateY(-1px);
}
.gg-spin-btn.active-batch {
  border-color: #00e5ff;
  color: #00e5ff;
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.35);
  background: linear-gradient(180deg, #1a2d3c 0%, #12202c 100%);
}
.gg-spin-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: #26384a;
}

.gg-btn-auto-spin {
  width: 100%;
  height: 36px;
  border-radius: 4px;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 900;
  letter-spacing: 0.6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  margin-bottom: 8px;
  flex-shrink: 0;
  text-transform: uppercase;
}
.gg-btn-auto-spin.idle {
  background: linear-gradient(180deg, #0284c7 0%, #0369a1 100%);
  border: 1px solid #38bdf8;
  color: #ffffff;
  box-shadow: 0 0 12px rgba(2, 132, 199, 0.4);
}
.gg-btn-auto-spin.idle:hover {
  background: linear-gradient(180deg, #0396e0 0%, #0284c7 100%);
  box-shadow: 0 0 16px rgba(2, 132, 199, 0.6);
}
.gg-btn-auto-spin.running {
  background: linear-gradient(180deg, #dc2626 0%, #991b1b 100%);
  border: 1px solid #ef4444;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(239, 68, 68, 0.7);
  animation: pulseDanger 1.5s infinite alternate;
}

/* Session Loot Rollup */
.gg-session-rollup {
  background: rgba(10, 14, 18, 0.95);
  border: 1px solid #1e2c38;
  border-radius: 4px;
  padding: 6px 10px;
  margin-bottom: 8px;
  flex-shrink: 0;
}

.gg-loot-pill {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  background: rgba(15, 23, 42, 0.85);
  border: 1px solid #2d4255;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  font-family: monospace;
}

/* Log Risultati */
.gg-results-log-container {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1e2c38;
  border-radius: 4px;
  min-height: 0;
}

.gg-results-log-container::-webkit-scrollbar {
  width: 5px;
}
.gg-results-log-container::-webkit-scrollbar-thumb {
  background: rgba(0, 229, 255, 0.3);
  border-radius: 2px;
}
.gg-results-log-container::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 229, 255, 0.5);
}

.gg-result-card {
  background: #121921;
  border: 1px solid #223240;
  border-radius: 3px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  color: #ffffff;
  animation: fadeInResult 0.25s ease-out;
}

/* Drop Rates Popover */
.gg-drop-rates-overlay {
  position: absolute;
  inset: 0;
  background: rgba(5, 8, 12, 0.9);
  z-index: 60;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px;
  backdrop-filter: blur(4px);
}

.gg-drop-rates-card {
  width: 480px;
  max-width: 92%;
  background: #121921;
  border: 1px solid #00e5ff;
  border-radius: 4px;
  box-shadow: 0 0 25px rgba(0, 229, 255, 0.35);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.gg-drop-rates-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: #15202b;
  border-bottom: 1px solid #1e2c38;
}

.gg-drop-rates-title {
  font-size: 11.5px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.5px;
}

.gg-close-rates-icon {
  background: transparent;
  border: none;
  color: #7e99ab;
  font-size: 14px;
  cursor: pointer;
}
.gg-close-rates-icon:hover {
  color: #ffffff;
}

.gg-drop-rates-content {
  padding: 14px;
  font-size: 11.5px;
  color: #cbd5e1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.gg-rate-row {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid #1a2530;
  padding-bottom: 4px;
}

.rate-desc {
  font-size: 10.5px;
  color: #7e99ab;
  margin-top: -4px;
  padding-left: 12px;
  line-height: 1.4;
}

.rate-name.name-parts { color: #00ff88; font-weight: bold; }
.rate-val.val-parts { color: #00ff88; font-weight: 900; }
.rate-name.name-ammo { color: #00e5ff; font-weight: bold; }
.rate-val.val-ammo { color: #00e5ff; font-weight: 900; }
.rate-name.name-xeno { color: #c084fc; font-weight: bold; }
.rate-val.val-xeno { color: #c084fc; font-weight: 900; }
.rate-name.name-logs { color: #60a5fa; font-weight: bold; }
.rate-val.val-logs { color: #60a5fa; font-weight: 900; }
.rate-name.name-keys { color: #ffd700; font-weight: bold; }
.rate-val.val-keys { color: #ffd700; font-weight: 900; }

.gg-rate-info-box {
  margin-top: 6px;
  padding: 6px 10px;
  background: rgba(0, 229, 255, 0.08);
  border-left: 3px solid #00e5ff;
  font-size: 10.5px;
  color: #8da4b5;
}

.gg-drop-rates-footer {
  padding: 10px 14px;
  background: #0a0f14;
  text-align: right;
  border-top: 1px solid #1e2c38;
}

.gg-btn-close-rates {
  padding: 5px 14px;
  font-size: 11px;
  font-weight: bold;
  background: #1e2c38;
  border: 1px solid #385065;
  color: #ffffff;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.gg-btn-close-rates:hover {
  background: #2a3d4f;
  border-color: #00e5ff;
}


/* ==========================================================================
   29. SCHEDA PILOTA & ALBERO ABILITÀ 50 PP (DARKORBIT 1:1 PARITY)
   ========================================================================== */

/* Finestra Flottante Principale */
.do-pilot-window {
  width: 980px;
  min-width: 820px;
  max-width: 96vw;
  height: 700px;
  min-height: 540px;
  max-height: 94vh;
  background: linear-gradient(180deg, #121921 0%, #080d12 100%);
  border: 2px solid #283745;
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.85), inset 0 0 15px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  -webkit-user-select: none;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #c4d0dc;
  z-index: 107;
}

#pilot-modal {
  font-family: 'Eurostile', Arial, sans-serif;
}

/* Header Finestra con Grip Handle Metallico */
.pilot-modal-header {
  height: 36px;
  background: #15202b;
  border-bottom: 1px solid #283745;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  cursor: move;
  flex-shrink: 0;
}

.pilot-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.pilot-header-grip {
  width: 13px;
  height: 18px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  opacity: 0.7;
}

.pilot-header-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.pilot-header-title {
  font-size: 13px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

.pilot-header-rank-badge,
.pilot-header-badge {
  background: #0d141b;
  border: 1px solid #ffd700;
  color: #ffd700;
  padding: 1px 7px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 900;
  font-family: monospace;
  letter-spacing: 0.5px;
}

.pilot-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pilot-ctrl-btn {
  width: 16px;
  height: 16px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: bold;
  cursor: pointer;
}

.pilot-modal-close {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  margin: 0;
  flex-shrink: 0;
}
.pilot-modal-close:hover {
  background-position: center 0px;
}
.pilot-modal-close:active {
  background-position: center -48px;
}

/* Barra Navigazione Tab (4 Tab Canonici) */
.pilot-nav-bar {
  background: #0d141b;
  border-bottom: 1px solid #1f2c38;
  padding: 0 12px;
  display: flex;
  align-items: center;
  height: 38px;
  flex-shrink: 0;
}

.pilot-nav-tabs {
  display: flex;
  gap: 6px;
}

.pilot-nav-tab {
  background: linear-gradient(180deg, #18222b 0%, #0f161d 100%);
  border: 1px solid #263543;
  border-bottom: none;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  padding: 7px 14px;
  color: #7e99ab;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s ease;
  position: relative;
  text-transform: uppercase;
}

.pilot-nav-tab:hover {
  color: #00e5ff;
  background: linear-gradient(180deg, #202f3c 0%, #131c24 100%);
}

.pilot-nav-tab.active {
  color: #ffd700;
  background: #121921;
  border-color: #ffd700;
  border-top: 2px solid #ffd700;
  box-shadow: 0 -2px 8px rgba(255, 215, 0, 0.2);
}

.pilot-tab-pp-badge {
  font-size: 9.5px;
  font-weight: 900;
  font-family: monospace;
  padding: 1px 5px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.45);
  color: #7e99ab;
  border: 1px solid #1a2530;
}

.pilot-nav-tab.active .pilot-tab-pp-badge {
  color: #ffd700;
  border-color: rgba(255, 215, 0, 0.4);
}

/* Corpo Principale Finestra */
.pilot-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 18px;
  background: #090e13;
  display: flex;
  flex-direction: column;
  gap: 14px;
  min-height: 0;
}

.pilot-modal-body::-webkit-scrollbar {
  width: 6px;
}
.pilot-modal-body::-webkit-scrollbar-thumb {
  background: #26384a;
  border-radius: 3px;
}
.pilot-modal-body::-webkit-scrollbar-thumb:hover {
  background: #00e5ff;
}

/* TAB 1: PROFILO & DOSSIER PILOTA 1:1 DARKORBIT */
.do-profile-page {
  background: #090e13 url('/assets/ui/darkorbit_ui/pilotSheet/Pilotsheet_bg2.jpg') no-repeat center top;
  background-size: cover;
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 14px 16px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.8), 0 0 15px rgba(0, 0, 0, 0.6);
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.do-page-control {
  display: flex;
  align-items: stretch;
  gap: 10px;
  min-height: 410px;
}

/* COLONNA SINISTRA */
.do-pp-left {
  width: 230px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.do-pp-left-top {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 4px 0;
}

.do-pp-avatar-wrapper {
  width: 72px;
  height: 78px;
  background: rgba(0, 0, 0, 0.65);
  border: 1px solid #334455;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.8), 0 0 10px rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
}

.do-profile-pic {
  width: 66px;
  height: 72px;
  object-fit: cover;
}

.do-profile-name-box {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.profileTitleFont {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.pilot-name-text {
  font-size: 14px;
  font-weight: 900;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ppHorizontalSeparator {
  width: 100%;
  max-width: 210px;
  height: 3px;
  background: url('/assets/ui/darkorbit_ui/pilotSheet/seperator_horizontal.jpg') no-repeat center;
  background-size: 100% 100%;
  margin: 6px 0;
}

.ppHorizontalSeparatorBig {
  width: 100%;
  height: 3px;
  background: url('/assets/ui/darkorbit_ui/pilotSheet/seperator_horizontal_big.jpg') no-repeat center;
  background-size: 100% 100%;
  margin: 8px 0;
}

.ppVerticalSeparator {
  width: 6px;
  flex-shrink: 0;
  background: url('/assets/ui/darkorbit_ui/pilotSheet/seperator_vertical.jpg') repeat-y center;
  background-size: 6px auto;
  opacity: 0.85;
}

.do-pp-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.do-pp-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

.do-pp-table td {
  padding: 3.5px 0;
}

.profilePageFontTitle {
  color: #7e99ab;
  font-size: 10.5px;
  font-weight: bold;
}

.profilePageFont {
  color: #c4d0dc;
  font-size: 11px;
}

.val-right {
  text-align: right;
}

.do-pp-rank-cell {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  justify-content: flex-end;
}

.pilot-rank-icon-img-small {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.do-pp-rank-title {
  max-width: 115px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: bold;
  color: #00d0ff;
}

/* COLONNA CENTRALE */
.do-pp-middle {
  flex: 1;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 6px;
}

.do-pp-table-middle td {
  padding: 3px 0;
}

.do-pp-status-box {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.statMessTextarea {
  position: relative;
  background: url('/assets/ui/darkorbit_ui/pilotSheet/rework/text_box.png') no-repeat center;
  background-size: 100% 100%;
  padding: 8px 12px;
  border-radius: 3px;
  border: 1px solid #233444;
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.7);
}

.statMessTextarea textarea {
  width: 100%;
  height: 52px;
  background: transparent;
  border: none;
  outline: none;
  resize: none;
  color: #e0f2fe;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11.5px;
  line-height: 1.35;
}

.statMessTextarea textarea::placeholder {
  color: #556c7d;
  font-style: italic;
}

.do-pp-status-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
}

/* COLONNA DESTRA: ARTWORK STAZIONE */
.do-pp-right {
  width: 242px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.stationArtwork {
  width: 238px;
  height: 393px;
  background-size: cover;
  background-position: center;
  border: 1px solid #283745;
  border-radius: 4px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.85);
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 12px;
  overflow: hidden;
}

.stationArtwork.stationMars {
  background-image: url('/assets/ui/darkorbit_ui/pilotSheet/station_mars.jpg');
}

.stationArtwork.stationEarth {
  background-image: url('/assets/ui/darkorbit_ui/pilotSheet/station_earth.jpg');
}

.stationArtwork.stationVenus {
  background-image: url('/assets/ui/darkorbit_ui/pilotSheet/station_venus.jpg');
}

.stationBadgeOverlay {
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  padding: 6px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.stationLogoAnim {
  width: 38px;
  height: 38px;
  object-fit: contain;
}

.stationCompTag {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 0.6px;
}

.stationCompSub {
  font-size: 9.5px;
  color: #8da4b5;
  white-space: nowrap;
}

.stationProgressionCard {
  background: rgba(7, 12, 17, 0.85);
  backdrop-filter: blur(4px);
  border: 1px solid #283745;
  border-radius: 4px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.stationProgressionHeader {
  display: flex;
  flex-direction: column;
  gap: 1px;
}

.stationProgressionLabel {
  font-size: 9px;
  font-weight: 900;
  color: #7e99ab;
  letter-spacing: 0.5px;
}

.stationProgressionRankName {
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.stationProgressionReq {
  font-size: 10px;
  color: #00e5ff;
  font-weight: bold;
}

.stationProgressBarBg {
  position: relative;
  width: 100%;
  height: 15px;
  background: rgba(0, 0, 0, 0.7);
  border: 1px solid #233444;
  border-radius: 2px;
  overflow: hidden;
}

.stationProgressBarFill {
  height: 100%;
  background: linear-gradient(90deg, #0284c7 0%, #00e5ff 100%);
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.6);
  transition: width 0.35s ease-out;
}

.stationProgressBarText {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: monospace;
  font-size: 9.5px;
  font-weight: 900;
  color: #ffffff;
  text-shadow: 0 0 3px #000;
}

.stationProgressionFooter {
  font-size: 9px;
  color: #556c7d;
  text-align: center;
}

/* TAB 1: PROFILO & HERO CARD (LEGACY FALLBACK) */
.pilot-hero-card {
  display: flex;
  align-items: center;
  gap: 20px;
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 16px 20px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.6);
  position: relative;
  overflow: hidden;
}

.pilot-rank-icon-wrapper {
  position: relative;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.15) 0%, rgba(0,0,0,0.8) 70%);
  border: 2px solid #38404a;
  border-radius: 6px;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  flex-shrink: 0;
}

.pilot-rank-icon-img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(0, 208, 255, 0.6));
}

.pilot-company-badge-box {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #223240;
  border-radius: 6px;
  flex-shrink: 0;
  box-shadow: inset 0 0 10px rgba(0,0,0,0.8);
}

.pilot-company-logo-img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 0 6px rgba(255, 215, 0, 0.35));
}

.pilot-hero-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pilot-hero-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.pilot-hero-pilotname {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 18px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
}

.pilot-hero-clan-tag {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #00ff88;
  background: rgba(0, 255, 136, 0.12);
  border: 1px solid #00ff88;
  padding: 2px 6px;
  border-radius: 3px;
}

.pilot-hero-title-badge {
  font-size: 12px;
  font-weight: bold;
  color: #ffd700;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 4px;
}

.pilot-hero-rankname {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #00d0ff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

.pilot-hero-company {
  font-size: 11px;
  color: #7e99ab;
}

/* Pulsanti Mode Toggle (Militare vs Prestigio) */
.pilot-rank-mode-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
}

.btn-pilot-toggle-rank {
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  padding: 4px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.2s ease;
  letter-spacing: 0.5px;
}

.btn-pilot-toggle-rank.seasonal-active {
  background: linear-gradient(180deg, #1e3a5f, #0f233a);
  border: 1px solid #00e5ff;
  color: #00e5ff;
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.4);
}

.btn-pilot-toggle-rank.prestige-active {
  background: linear-gradient(180deg, #3d2b00, #221800);
  border: 1px solid #ffd700;
  color: #ffd700;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.btn-pilot-toggle-rank.inactive {
  background: #141a22;
  border: 1px solid #2a3746;
  color: #64748b;
}

/* Progress Card & Barra Avanzamento Grado */
.pilot-progress-card {
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pilot-progress-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  color: #c4d0dc;
}

.pilot-progress-bar-bg {
  position: relative;
  width: 100%;
  height: 20px;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid #1e2c38;
  border-radius: 3px;
  overflow: hidden;
}

.pilot-progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, #0284c7 0%, #00e5ff 100%);
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.5);
  transition: width 0.35s ease-out;
}

.pilot-progress-bar-text {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: monospace;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  text-shadow: 0 0 4px #000, 0 1px 2px #000;
  pointer-events: none;
}

/* Griglia Statistiche Rapide */
.pilot-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.pilot-stat-box {
  background: #10161d;
  border: 1px solid #1e2c38;
  border-radius: 4px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  text-align: center;
}

.pilot-stat-val {
  font-size: 17px;
  font-weight: 900;
  font-family: monospace;
  color: #ffffff;
  letter-spacing: 0.5px;
}

.pilot-stat-lbl {
  font-size: 11px;
  color: #7e99ab;
  text-transform: uppercase;
  font-weight: 800;
  letter-spacing: 0.5px;
}

/* Card Formula Punti Rango */
.pilot-formula-card {
  background: #10161d;
  border: 1px solid #1e2c38;
  border-radius: 4px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 11.5px;
  color: #8da4b5;
  line-height: 1.5;
}

.pilot-formula-title {
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.5px;
}

.pilot-formula-calc {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-family: monospace;
  font-size: 11px;
}

.pilot-formula-pill {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid #1e2c38;
  padding: 3px 8px;
  border-radius: 3px;
  color: #c4d0dc;
}

/* TAB 2: STATISTICHE DETTAGLIATE */
.pilot-skills-summary-card {
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.pilot-skills-category-title {
  font-size: 12px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.6px;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.pilot-skills-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 16px;
}

.pilot-skills-stat-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 4px 8px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid #1e2c38;
  border-radius: 3px;
  font-size: 11.5px;
}

.pilot-skills-stat-name {
  color: #8da4b5;
}

.pilot-skills-stat-val {
  font-family: monospace;
  font-weight: 900;
  color: #7e99ab;
}

.pilot-skills-stat-val.active {
  color: #00ff88;
}

/* TAB 3: TITOLI ONORIFICI */
.pilot-titles-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 480px;
  overflow-y: auto;
}

.pilot-title-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: #10161d;
  border: 1px solid #1e2c38;
  border-radius: 4px;
  transition: all 0.2s ease;
}

.pilot-title-card.equipped {
  border-color: #ffd700;
  background: rgba(255, 215, 0, 0.06);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.15);
}

.pilot-title-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.pilot-title-rarity {
  font-size: 9.5px;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 2px;
  letter-spacing: 0.5px;
  font-family: monospace;
}
.pilot-title-rarity.unique { background: rgba(255, 215, 0, 0.2); color: #ffd700; border: 1px solid #ffd700; }
.pilot-title-rarity.elite { background: rgba(0, 208, 255, 0.2); color: #00d0ff; border: 1px solid #00d0ff; }
.pilot-title-rarity.normal { background: rgba(255, 255, 255, 0.1); color: #ffffff; border: 1px solid #64748b; }

.pilot-title-name {
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.5px;
}

.pilot-title-desc {
  font-size: 11px;
  color: #7e99ab;
  margin-top: 2px;
}

.pilot-title-btn {
  padding: 5px 14px;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
  background: #1e2c38;
  border: 1px solid #385065;
  color: #ffffff;
  transition: all 0.15s ease;
  text-transform: uppercase;
}
.pilot-title-btn:hover:not(:disabled) {
  background: #2a3d4f;
  border-color: #00e5ff;
  color: #00e5ff;
}
.pilot-title-btn.equipped {
  background: rgba(255, 215, 0, 0.15);
  border-color: #ffd700;
  color: #ffd700;
  cursor: default;
}

/* TAB 4: ALBERO DELLE ABILITÀ (PILOT BIO) */
.skills-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
  min-height: 0;
}

/* Top Stats & Actions Bar */
.skills-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  flex-shrink: 0;
  gap: 12px;
  flex-wrap: wrap;
}

.skills-stats-group {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.skills-stat-pill {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.skills-stat-label {
  font-size: 10px;
  font-weight: 800;
  color: #7e99ab;
  letter-spacing: 0.5px;
}

.skills-stat-val {
  font-size: 13px;
  font-weight: 900;
  font-family: monospace;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 6px;
}

.skills-stat-val.highlight {
  color: #00e5ff;
}

.skills-res-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
  vertical-align: middle;
}

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

.skills-action-btn {
  padding: 6px 12px;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
  background: #182430;
  border: 1px solid #283a4c;
  color: #c4d0dc;
  transition: all 0.15s ease;
  text-transform: uppercase;
}
.skills-action-btn:hover:not(:disabled) {
  background: #203142;
  border-color: #00e5ff;
  color: #00e5ff;
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.3);
}
.skills-action-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  border-color: #1e2c38;
}

.skills-action-btn.danger {
  background: linear-gradient(180deg, #5c1414 0%, #3a0d0d 100%);
  border-color: #8b1818;
  color: #ff8888;
}
.skills-action-btn.danger:hover:not(:disabled) {
  background: linear-gradient(180deg, #7c1a1a 0%, #4a1010 100%);
  border-color: #ff4444;
  color: #ffffff;
  box-shadow: 0 0 10px rgba(255, 68, 68, 0.5);
}

.skills-stats-toggle-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  color: #7e99ab;
  flex-shrink: 0;
}

.skills-stats-toggle-btn {
  background: transparent;
  border: 1px solid #223240;
  color: #00e5ff;
  padding: 3px 8px;
  border-radius: 3px;
  cursor: pointer;
  font-size: 10.5px;
  font-weight: bold;
}
.skills-stats-toggle-btn:hover {
  background: rgba(0, 229, 255, 0.1);
}

.skills-stats-drawer {
  background: #10161d;
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex-shrink: 0;
  animation: fadeInResult 0.2s ease-out;
}

.skills-live-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px 12px;
}

.skills-live-stat-card {
  display: flex;
  flex-direction: column;
  font-size: 10.5px;
}
.skills-live-stat-title { color: #7e99ab; }
.skills-live-stat-val { font-family: monospace; font-weight: bold; color: #ffffff; }
.skills-live-stat-val.active { color: #00ff88; }

.skills-fx-matrix {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.fx-pill {
  font-size: 10px;
  font-weight: bold;
  padding: 2px 7px;
  border-radius: 3px;
  letter-spacing: 0.4px;
}
.fx-pill.active {
  background: rgba(0, 255, 136, 0.15);
  border: 1px solid #00ff88;
  color: #00ff88;
}
.fx-pill.inactive {
  background: rgba(100, 116, 139, 0.15);
  border: 1px solid #334155;
  color: #64748b;
}

/* Canvas Albero Abilità Scorrevole & Griglia 3-Tier */
.skills-scroll-container {
  flex: 1;
  overflow: auto;
  position: relative;
  background: #080c10 radial-gradient(circle at 50% 50%, rgba(0, 229, 255, 0.03) 0%, transparent 80%);
  border: 1px solid #1e2c38;
  border-radius: 4px;
  padding: 16px;
  min-height: 0;
}

.skills-scroll-container::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.skills-scroll-container::-webkit-scrollbar-thumb {
  background: #26384a;
  border-radius: 3px;
}

.skills-tree-grid {
  display: flex;
  gap: 36px;
  position: relative;
  z-index: 2;
  min-width: 900px;
}

.skill-group-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.skill-group-header {
  background: #10161d;
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.skill-group-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 900;
  color: #00e5ff;
  letter-spacing: 0.5px;
}

.skill-group-badge {
  font-size: 9.5px;
  padding: 1px 5px;
  border-radius: 2px;
  font-family: monospace;
}
.skill-group-badge.unlocked { background: rgba(0, 255, 136, 0.2); color: #00ff88; border: 1px solid #00ff88; }
.skill-group-badge.locked { background: rgba(239, 68, 68, 0.2); color: #f43f5e; border: 1px solid #f43f5e; }

.skill-group-sub {
  font-size: 9.5px;
  color: #7e99ab;
}

.skills-cards-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

/* Card Abilità DarkOrbit 1:1 Parity */
.skill-card {
  background: linear-gradient(180deg, #121921 0%, #0a0e13 100%);
  border: 1px solid #223240;
  border-radius: 4px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: all 0.2s ease;
  position: relative;
}

.skill-card:hover {
  border-color: #00e5ff;
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.25);
}

.skill-card.maxed {
  border-color: #00ff88;
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.2);
}

.skill-card.special-milestone,
.skill-card.special-fatlasers {
  border-color: #ffd700;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.35);
  animation: ggPulseFinal 3s infinite alternate;
}

.skill-card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.skill-card-name {
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
}

.skill-level-badge {
  font-size: 10px;
  font-weight: 900;
  font-family: monospace;
  padding: 1px 6px;
  border-radius: 2px;
  background: rgba(0, 0, 0, 0.5);
  color: #7e99ab;
  border: 1px solid #1e2c38;
}
.skill-level-badge.maxed {
  color: #00ff88;
  border-color: #00ff88;
  background: rgba(0, 255, 136, 0.15);
}

/* Tacche di Livello (Skill Pip Track Flash Autentico) */
.skill-pip-track {
  display: flex;
  gap: 3px;
  margin: 2px 0;
}

.skill-pip {
  height: 4px;
  flex: 1;
  background: #151e27;
  border: 1px solid #23313d;
  border-radius: 1px;
  transition: all 0.2s ease;
}

.skill-pip.filled {
  background: #00e5ff;
  border-color: #00e5ff;
  box-shadow: 0 0 4px #00e5ff;
}

.skill-pip.filled-maxed {
  background: #00ff88;
  border-color: #00ff88;
  box-shadow: 0 0 5px #00ff88;
}

.skill-pip.filled-milestone {
  background: #ffd700;
  border-color: #ffd700;
  box-shadow: 0 0 6px #ffd700;
}

.skill-card-body-row {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.skill-card-icon {
  width: 44px;
  height: 44px;
  object-fit: contain;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid #1e2c38;
  border-radius: 4px;
  padding: 2px;
  flex-shrink: 0;
}

.skill-card-body-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 10.5px;
  color: #8da4b5;
  line-height: 1.35;
}

.skill-card-desc b,
.skill-card-next b {
  color: #ffffff;
}

.skill-card-next {
  color: #00e5ff;
  padding: 2px 4px;
  background: rgba(0, 229, 255, 0.08);
  border-left: 2px solid #00e5ff;
  border-radius: 2px;
  font-size: 10px;
}

.skill-card-prereq {
  color: #f43f5e;
  font-size: 10px;
  font-weight: bold;
}

.skill-connectors-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 2px;
}

.skill-prereq-badge,
.skill-unlock-badge {
  font-size: 9px;
  font-weight: bold;
  padding: 1px 5px;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.skill-prereq-badge.met { background: rgba(0, 255, 136, 0.12); color: #00ff88; border: 1px solid rgba(0, 255, 136, 0.4); }
.skill-prereq-badge.unmet { background: rgba(239, 68, 68, 0.15); color: #f43f5e; border: 1px solid rgba(239, 68, 68, 0.4); }
.skill-unlock-badge { background: rgba(0, 229, 255, 0.12); color: #00e5ff; border: 1px solid rgba(0, 229, 255, 0.4); }

.skill-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #1e2c38;
}

.skill-card-cost {
  display: flex;
  gap: 8px;
  font-size: 10px;
  font-family: monospace;
  color: #7e99ab;
  font-weight: bold;
}

/* Pulsanti Flash Autoritativi per Scheda Pilota */
.btn-pilot-action,
.skill-upgrade-btn {
  padding: 4px 10px;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: 0.6px;
  color: #ffffff;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
  transition: filter 0.15s ease;
  text-transform: uppercase;
}
.btn-pilot-action:hover:not(:disabled),
.skill-upgrade-btn:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
}
.btn-pilot-action:active:not(:disabled),
.skill-upgrade-btn:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}
.btn-pilot-action:disabled,
.skill-upgrade-btn:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.5);
}

/* SVG Connettori di Flusso Bézier */
#skills-connectors-svg {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}

.skill-conn-path {
  fill: none;
  stroke-width: 2;
  transition: all 0.25s ease;
}
.skill-conn-path.locked {
  stroke: #26384a;
  stroke-dasharray: 4, 4;
}
.skill-conn-path.unlocked {
  stroke: #00e5ff;
  filter: drop-shadow(0 0 3px rgba(0, 229, 255, 0.6));
}
.skill-conn-path.maxed {
  stroke: #00ff88;
  filter: drop-shadow(0 0 4px rgba(0, 255, 136, 0.7));
}
.skill-conn-path.fatlasers {
  stroke: #ffd700;
  stroke-width: 2.5;
  filter: drop-shadow(0 0 5px rgba(255, 215, 0, 0.8));
}
.skill-conn-path.highlighted {
  stroke-width: 3.5;
  filter: drop-shadow(0 0 8px #ffffff);
}

/* ========================================================================== */
/* §30. COMMERCIO, ASTA ORARIA & BORSA DEI PILOTI (DARKORBIT 1:1 PARITY)      */
/* ========================================================================== */

.do-market-window {
  width: 980px;
  max-width: 96vw;
  height: 680px;
  max-height: 92vh;
  background: #11171d url('/assets/ui/auction/sp_auction_bg.png') repeat;
  border: 2px solid #2b3947;
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.95), 0 0 35px rgba(0, 0, 0, 0.9);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #c4d0dc;
}

.do-market-window.kr-win-minimized .market-nav-bar,
.do-market-window.kr-win-minimized .market-modal-body {
  display: none !important;
}

/* Header DarkOrbit Parity */
.market-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 38px;
  padding: 0 10px;
  background: linear-gradient(180deg, #222e3b 0%, #131a22 100%);
  border-bottom: 2px solid #2c3a49;
  flex-shrink: 0;
  cursor: grab;
}
.market-modal-header:active {
  cursor: grabbing;
}

.market-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.market-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.market-header-grip:hover {
  opacity: 1;
}

.market-header-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

.market-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  text-transform: uppercase;
}

.market-header-balance {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Michroma', 'Orbitron', monospace;
  font-size: 11px;
  font-weight: bold;
}

.market-balance-item {
  display: flex;
  align-items: center;
  gap: 5px;
}

.market-bal-icon {
  width: 14px;
  height: 14px;
  object-fit: contain;
}

.market-bal-credits {
  color: #ffd700;
  text-shadow: 0 0 6px rgba(255, 215, 0, 0.4);
}

.market-bal-uridium {
  color: #00d0ff;
  text-shadow: 0 0 6px rgba(0, 208, 255, 0.4);
}

.market-bal-sep {
  color: #3e5062;
  font-weight: normal;
}

.market-header-controls {
  display: flex;
  align-items: center;
  gap: 5px;
}

.market-ctrl-btn {
  width: 20px;
  height: 20px;
  background: #19232d;
  border: 1px solid #364859;
  border-radius: 2px;
  color: #8da4b8;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1;
}
.market-ctrl-btn:hover {
  background: #233240;
  color: #ffffff;
  border-color: #00e5ff;
}

.market-ctrl-btn.kr-win-close {
  background: url('/assets/ui/darkorbit_ui/bars/win_close_normal.png') no-repeat center;
  background-size: contain;
  border: none;
}
.market-ctrl-btn.kr-win-close:hover {
  background-image: url('/assets/ui/darkorbit_ui/bars/win_close_over.png');
}
.market-ctrl-btn.kr-win-close:active {
  background-image: url('/assets/ui/darkorbit_ui/bars/win_close_down.png');
}

/* Tab Navigation Bar (4 Tab Autentiche) */
.market-nav-bar {
  background: linear-gradient(180deg, #131a22 0%, #0c1117 100%);
  border-bottom: 2px solid #23303d;
  padding: 0 8px;
  flex-shrink: 0;
}

.market-nav-tabs {
  display: flex;
  gap: 4px;
  padding-top: 4px;
}

.market-tab-btn {
  padding: 8px 16px;
  background: #141c24;
  border: 1px solid #273645;
  border-bottom: none;
  border-radius: 4px 4px 0 0;
  color: #8da4b8;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 7px;
  transition: all 0.15s ease;
}
.market-tab-btn:hover {
  background: #1c2733;
  color: #ffffff;
  border-color: #3b5066;
}
.market-tab-btn.active {
  background: #1c2631;
  color: #ffd700;
  border-color: #4a637d;
  border-top: 2px solid #ffd700;
  box-shadow: inset 0 2px 8px rgba(255, 215, 0, 0.15);
}

.pip-gold {
  background: #ffd700;
  box-shadow: 0 0 6px #ffd700;
}

/* Body Window */
.market-modal-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  background: rgba(13, 18, 23, 0.85);
}

.market-tab-content {
  flex: 1;
  display: none;
  flex-direction: column;
  overflow: hidden;
}
.market-tab-content.active {
  display: flex;
}

/* ========================================================================== */
/* TAB 1: ASTA ORARIA                                                         */
/* ========================================================================== */

.auction-banner-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  background: linear-gradient(90deg, #16202a 0%, #0e141a 100%);
  border-bottom: 1px solid #23313e;
  gap: 12px;
  flex-shrink: 0;
}

.auction-timer-pill {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #090e13;
  border: 1px solid #2c3c4c;
  border-radius: 3px;
  padding: 4px 10px;
}

.auction-timer-label {
  font-size: 10.5px;
  font-weight: 800;
  color: #8da4b8;
  letter-spacing: 0.5px;
}

.auction-timer-clock {
  font-family: 'Michroma', 'Orbitron', monospace;
  font-size: 13px;
  font-weight: bold;
  color: #ffd700;
  text-shadow: 0 0 6px rgba(255, 215, 0, 0.5);
}

.auction-blind-pill {
  background: rgba(255, 170, 0, 0.15);
  border: 1px solid #ffaa00;
  border-radius: 3px;
  padding: 4px 10px;
  font-size: 10.5px;
  font-weight: 900;
  color: #ffaa00;
  letter-spacing: 0.5px;
  animation: pulse-blind 1.5s infinite;
}

@keyframes pulse-blind {
  0%, 100% { opacity: 1; box-shadow: 0 0 4px rgba(255, 170, 0, 0.4); }
  50% { opacity: 0.65; box-shadow: 0 0 10px rgba(255, 170, 0, 0.8); }
}

.auction-rule-note {
  font-size: 10.5px;
  color: #7b93a8;
}

.auction-refund-hi {
  color: #00ff88;
}

/* Filtri Asta */
.auction-filter-pills {
  display: flex;
  gap: 6px;
  padding: 6px 12px;
  background: #0c1217;
  border-bottom: 1px solid #1e2a36;
  flex-shrink: 0;
}

.auction-filter-btn {
  padding: 5px 12px;
  background: #141c24;
  border: 1px solid #253340;
  border-radius: 3px;
  color: #8da4b8;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.15s ease;
  letter-spacing: 0.4px;
}
.auction-filter-btn:hover {
  background: #1d2834;
  color: #ffffff;
  border-color: #384c5f;
}
.auction-filter-btn.active {
  background: #243545;
  color: #00e5ff;
  border-color: #00e5ff;
  box-shadow: 0 0 6px rgba(0, 229, 255, 0.3);
}

/* Layout Asta (Griglia a Sinistra + Pannello Dettaglio a Destra) */
.auction-body-layout {
  flex: 1;
  display: flex;
  overflow: hidden;
  min-height: 0;
}

.auction-items-grid {
  flex: 1;
  min-width: 0;
  min-height: 0;
  overflow-y: scroll;
  overflow-x: hidden;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
  gap: 12px;
  align-content: start;
  scrollbar-width: thin;
  scrollbar-color: #2b3e52 #070b0f;
}

.auction-items-grid::-webkit-scrollbar {
  width: 9px;
}
.auction-items-grid::-webkit-scrollbar-track {
  background: #070b0f;
  border-left: 1px solid #1c2b3a;
}
.auction-items-grid::-webkit-scrollbar-thumb {
  background: #25394d;
  border-radius: 4px;
  border: 1px solid #3c546b;
}
.auction-items-grid::-webkit-scrollbar-thumb:hover {
  background: #00d0ff;
  box-shadow: 0 0 8px #00d0ff;
}

/* Card Lotto Asta (Layout Orizzontale Spazioso: Immagine Grande a SX) */
.auction-card {
  background: linear-gradient(180deg, #16202a 0%, #0d1319 100%);
  border: 1px solid #233342;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
  min-height: 116px;
}
.auction-card:hover {
  border-color: #ffd700;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.7), 0 0 10px rgba(255, 215, 0, 0.25);
}
.auction-card.selected {
  border-color: #ffd700;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.4);
  background: linear-gradient(180deg, #1e2c3a 0%, #101820 100%);
}
.auction-card.is-mine {
  border-color: #00ff88;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
}

.auction-card-thumb-wrap {
  width: 96px;
  height: 96px;
  flex-shrink: 0;
  background: radial-gradient(circle at center, #1b2530 0%, #0c1116 100%);
  border: 1px solid #23313e;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.auction-card-thumb-wrap img {
  max-width: 86px;
  max-height: 86px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.45));
  transition: transform 0.2s ease, filter 0.2s ease;
}
.auction-card:hover .auction-card-thumb-wrap img {
  transform: scale(1.08);
  filter: drop-shadow(0 0 14px rgba(0, 229, 255, 0.7));
}

.auction-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.auction-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
}

.auction-card-name {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}

.auction-card-tags {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
}

.auction-card-tier-badge {
  font-size: 8.5px;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 2px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.tier-standard {
  background: rgba(141, 164, 184, 0.15);
  color: #8da4b8;
  border: 1px solid #3c5062;
}
.tier-elite {
  background: rgba(0, 229, 255, 0.15);
  color: #00e5ff;
  border: 1px solid #00e5ff;
}
.tier-legendary {
  background: rgba(255, 215, 0, 0.2);
  color: #ffd700;
  border: 1px solid #ffd700;
}

.auction-card-type {
  font-size: 9px;
  color: #ffd700;
  background: #090e13;
  padding: 2px 6px;
  border-radius: 3px;
  border: 1px solid #283949;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.auction-bid-info-box {
  background: #090d12;
  border: 1px solid #1c2733;
  border-radius: 4px;
  padding: 5px 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 11px;
}

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

.auction-bid-label {
  color: #8da4b8;
  font-size: 10.5px;
}

.auction-bid-val {
  font-weight: bold;
  color: #ffd700;
}

.auction-leader-val {
  font-weight: bold;
  color: #00d0ff;
}
.auction-leader-val.is-user {
  color: #00ff88;
}
.auction-leader-val.blind {
  color: #ffaa00;
  font-style: italic;
}

.auction-min-step {
  color: #aaccdd;
  font-size: 10.5px;
}

.auction-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 2px;
}

.card-bid-input {
  flex: 1;
  height: 29px;
  background: #080c10;
  border: 1px solid #26384a;
  border-radius: 3px;
  color: #ffd700;
  font-family: 'Michroma', 'Orbitron', monospace;
  font-size: 11px;
  padding: 0 8px;
  min-width: 0;
  box-sizing: border-box;
}
.card-bid-input:focus {
  border-color: #ffd700;
  outline: none;
}

.card-bid-btn {
  height: 29px;
  padding: 0 10px;
}

/* Pannello Laterale Dettagli (Dimensione FISSA Immutabile 320px) */
.auction-detail-panel {
  width: 320px;
  min-width: 320px;
  max-width: 320px;
  flex: 0 0 320px;
  box-sizing: border-box;
  background: #0f151c;
  border-left: 2px solid #23313e;
  display: flex;
  flex-direction: column;
  padding: 14px;
  gap: 10px;
  overflow-x: hidden;
  overflow-y: auto;
}

.auction-detail-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffd700;
  border-bottom: 1px solid #26384a;
  padding-bottom: 6px;
  letter-spacing: 0.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.auction-detail-img-box {
  width: 100%;
  height: 120px;
  background: rgba(0, 0, 0, 0.6);
  border: 1px solid #26384a;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.auction-detail-img-box img {
  max-width: 90%;
  max-height: 90%;
  object-fit: contain;
}

.auction-detail-stats {
  font-size: 11px;
  color: #8da4b8;
  line-height: 1.4;
  min-height: 42px;
  max-height: 56px;
  overflow-y: auto;
  word-break: break-word;
}

.auction-bid-info-box {
  background: #090e13;
  border: 1px solid #243545;
  border-radius: 4px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}

.auction-bid-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11.5px;
  gap: 6px;
  min-width: 0;
}

.auction-bid-label {
  color: #7b93a8;
  white-space: nowrap;
  flex-shrink: 0;
}
.auction-bid-val {
  font-weight: bold;
  color: #c4d0dc;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
  min-width: 0;
}
.auction-bid-val.highlight-gold {
  color: #ffd700;
}
.auction-leader-val {
  color: #00d0ff;
  font-weight: bold;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: right;
  min-width: 0;
}

.auction-quick-bid-section {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.auction-quick-bid-title {
  font-size: 10px;
  font-weight: 800;
  color: #7b93a8;
  letter-spacing: 0.5px;
}
.auction-quick-bid-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
}
.auction-quick-btn {
  padding: 5px;
  background: #141c24;
  border: 1px solid #26384a;
  border-radius: 3px;
  color: #8da4b8;
  font-family: 'Eurostile', Arial, sans-serif;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
  transition: all 0.15s ease;
}
.auction-quick-btn:hover {
  background: #1c2733;
  border-color: #00e5ff;
  color: #00e5ff;
}

.auction-action-block {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
}

.auction-bid-input {
  width: 100%;
  padding: 7px 10px;
  background: #080c10;
  border: 1px solid #26384a;
  border-radius: 3px;
  color: #ffd700;
  font-family: 'Michroma', 'Orbitron', monospace;
  font-size: 12px;
  box-sizing: border-box;
}
.auction-bid-input:focus {
  border-color: #ffd700;
  outline: none;
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.4);
}

/* Bottone FAI OFFERTA Ufficiale DarkOrbit Flash (Stile Riscatta Ricompensa) */
.btn-auction-bid-flash {
  width: 100%;
  height: 34px;
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  image-rendering: auto;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
}

.btn-auction-bid-flash:hover:not(:disabled) {
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 10px rgba(0, 255, 136, 0.7));
}

.btn-auction-bid-flash:active:not(:disabled) {
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}

.btn-auction-bid-flash:disabled {
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.5);
}

#btn-auction-place-bid {
  background-color: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.btn-bid-text {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  pointer-events: none;
}

.card-bid-btn.btn-auction-bid-flash {
  width: auto;
  min-width: 85px;
  height: 29px;
  flex-shrink: 0;
  padding: 0 8px;
}

.card-bid-btn.btn-auction-bid-flash .btn-bid-text {
  font-size: 10px;
  letter-spacing: 0.5px;
}

/* Bottone Flash Bieten Ufficiale DarkOrbit (Legacy Fallback) */
.btn-do-bieten-action {
  width: 100%;
  height: 32px;
  background: url('/assets/ui/darkorbit_ui/trade/b_bieten.gif') no-repeat center;
  background-size: contain;
  border: none;
  cursor: pointer;
  transition: filter 0.15s ease;
}
.btn-do-bieten-action:hover:not(:disabled) {
  filter: brightness(1.2);
}
.btn-do-bieten-action:active:not(:disabled) {
  filter: brightness(0.9);
  transform: translateY(1px);
}
.btn-do-bieten-action:disabled {
  background-image: url('/assets/ui/darkorbit_ui/trade/b_bieten_wait.gif');
  cursor: not-allowed;
  opacity: 0.6;
}

/* ========================================================================== */
/* TAB 2: ASTE CONCLUSE (CRONOLOGIA 1:1)                                      */
/* ========================================================================== */

.history-banner-bar {
  padding: 10px 14px;
  background: linear-gradient(90deg, #16202a 0%, #0e141a 100%);
  border-bottom: 1px solid #23313e;
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex-shrink: 0;
}

.history-banner-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.6px;
}

.history-banner-note {
  font-size: 10.5px;
  color: #8da4b8;
}

.history-table-wrap {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  background: #0c1116;
}

.history-table {
  width: 100%;
  border-collapse: collapse;
}

.history-table th {
  background: #131a22;
  color: #7b93a8;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 8px 10px;
  text-align: left;
  border-bottom: 1px solid #23313e;
}

.history-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #18222b;
  font-size: 11.5px;
  color: #c4d0dc;
}

.history-table tr:hover td {
  background: #111820;
}

.history-item-thumb {
  width: 30px;
  height: 30px;
  object-fit: contain;
  vertical-align: middle;
}

.history-winner-tag {
  color: #00e5ff;
  font-weight: bold;
}

.history-bid-tag {
  color: #ffd700;
  font-weight: bold;
}

/* ========================================================================== */
/* TAB 3: BORSA DEI PILOTI (BAZAAR FIFO §9.3)                                 */
/* ========================================================================== */

.bazaar-banner {
  padding: 9px 14px;
  background: #121820;
  border-bottom: 1px solid #23313e;
  font-size: 11px;
  color: #8da4b8;
  line-height: 1.45;
  flex-shrink: 0;
}

.bazaar-grid-layout {
  flex: 1;
  display: flex;
  overflow: hidden;
}

.bazaar-commodities-col {
  width: 220px;
  border-right: 1px solid #23313e;
  background: #0d1217;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  flex-shrink: 0;
}

.bazaar-comm-item {
  padding: 9px 12px;
  border-bottom: 1px solid #18222c;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: all 0.15s ease;
}
.bazaar-comm-item:hover {
  background: #131a22;
}
.bazaar-comm-item.active {
  background: #17222c;
  border-left: 3px solid #ffd700;
}

.bazaar-comm-icon {
  width: 26px;
  height: 26px;
  object-fit: contain;
}

.bazaar-comm-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.bazaar-comm-name {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  color: #e2ecf5;
}

.bazaar-comm-ref {
  font-size: 9.5px;
  color: #ffd700;
}

.bazaar-orderbook-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 12px;
  gap: 10px;
  overflow-y: auto;
  background: #10161d;
}

.bazaar-orderbook-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #23313e;
  padding-bottom: 8px;
}

.bazaar-limits-pill {
  background: #090e13;
  border: 1px solid #23313e;
  border-radius: 3px;
  padding: 3px 8px;
  font-size: 10.5px;
  color: #8da4b8;
}

.bazaar-table-wrap {
  flex: 1;
  overflow-y: auto;
  border: 1px solid #23313e;
  border-radius: 4px;
  background: #090d11;
}

.bazaar-table {
  width: 100%;
  border-collapse: collapse;
}

.bazaar-table th {
  background: #0f151c;
  padding: 7px 10px;
  text-align: left;
  color: #7b93a8;
  border-bottom: 1px solid #23313e;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  text-transform: uppercase;
}

.bazaar-table td {
  padding: 7px 10px;
  border-bottom: 1px solid #141c24;
  color: #c4d0dc;
  font-size: 11px;
}

.bazaar-table tr:hover td {
  background: #121921;
}

.bazaar-buy-panel {
  background: #0d1217;
  border: 1px solid #23313e;
  border-radius: 4px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bazaar-sell-col {
  width: 290px;
  border-left: 1px solid #23313e;
  background: #0d1217;
  display: flex;
  flex-direction: column;
  padding: 12px;
  gap: 12px;
  overflow-y: auto;
  flex-shrink: 0;
}

.bazaar-sell-card {
  background: #11171e;
  border: 1px solid #23313e;
  border-radius: 4px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.bazaar-my-orders-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 180px;
  overflow-y: auto;
}

.bazaar-my-order-item {
  background: #090d11;
  border: 1px solid #1b2632;
  border-radius: 3px;
  padding: 6px 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}

.bazaar-btn-cancel-order {
  background: rgba(255, 68, 68, 0.15);
  border: 1px solid #ff4444;
  color: #ff6666;
  border-radius: 3px;
  padding: 2px 6px;
  cursor: pointer;
  font-size: 9.5px;
  font-weight: bold;
}
.bazaar-btn-cancel-order:hover {
  background: #ff4444;
  color: #ffffff;
}

/* ========================================================================== */
/* TAB 4: I MIEI ORDINI & AUDIT LOG                                           */
/* ========================================================================== */

.audit-log-wrap {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 14px;
  gap: 12px;
  overflow-y: auto;
  background: #0f151c;
}

.audit-table-wrap {
  flex: 1;
  overflow-y: auto;
  border: 1px solid #23313e;
  border-radius: 4px;
  background: #090d11;
}

/* ========================================================================== */
/* MODALE DI CONFERMA OFFERTA ASTA (DARKORBIT CONFIRM BEVEL)                 */
/* ========================================================================== */

.do-confirm-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 250;
  display: flex;
  align-items: center;
  justify-content: center;
}

.do-confirm-frame {
  width: 420px;
  background: #11171d;
  border: 2px solid #3a4b5d;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 0 40px rgba(0, 0, 0, 0.9);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.bid-confirm-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffd700;
  text-align: center;
  letter-spacing: 0.6px;
  border-bottom: 1px solid #23313e;
  padding-bottom: 8px;
}

.bid-confirm-details {
  background: #090d11;
  border: 1px solid #23313e;
  border-radius: 4px;
  padding: 12px;
  font-size: 11.5px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

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

.confirm-val-gold {
  color: #ffd700;
}

.confirm-disclaimer {
  border-top: 1px solid #1c2733;
  padding-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 10px;
  color: #7b93a8;
  line-height: 1.4;
}

.bid-confirm-buttons {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}

.btn-confirm-yes {
  flex: 1;
  height: 32px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.6px;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
  transition: filter 0.15s ease;
}
.btn-confirm-yes:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
}
.btn-confirm-yes:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}

.btn-confirm-no {
  flex: 1;
  height: 32px;
  background: linear-gradient(180deg, #3d1b1b 0%, #1f0d0d 100%);
  border: 1px solid #e74c3c;
  border-radius: 3px;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.6px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-confirm-no:hover {
  background: linear-gradient(180deg, #572525 0%, #2c1212 100%);
  box-shadow: 0 0 8px rgba(231, 76, 60, 0.4);
}


/* ==========================================================================
   §31. HANGAR & EQUIPAGGIAMENTO NAVE (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-equipment-window), Gestione Config 1/2,
   Workbench Nave/Droni/Design e Inventario Accordion Prometium.
   ========================================================================== */

#equipment-modal,
.do-equipment-window {
  width: 1080px;
  min-width: 880px;
  min-height: 580px;
  max-width: 1440px;
  max-height: 920px;
  height: 720px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.95);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
}

.do-equipment-window.kr-win-minimized {
  height: 40px !important;
  min-height: 40px !important;
  overflow: hidden !important;
}

.do-equipment-window.kr-win-minimized .equip-body,
.do-equipment-window.kr-win-minimized #equipment-status-banner {
  display: none !important;
}

.equip-header {
  height: 42px;
  box-sizing: border-box;
  padding: 0 14px;
  background: linear-gradient(180deg, #181d22 0%, #0d1014 60%, #080a0c 100%);
  border-bottom: 1px solid #28323c;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  flex-shrink: 0;
}

.equip-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.equip-header-grip,
.do-equipment-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}

.equip-header-grip:hover,
.do-equipment-header-grip:hover {
  opacity: 1;
}

.equip-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.equip-title,
.equip-header-title {
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  gap: 8px;
}

.equip-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.equip-ctrl-btn {
  background: transparent;
  border: none;
  cursor: pointer;
}

.equip-close-btn {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  font-size: 0;
  color: transparent;
  transition: none;
}
.equip-close-btn:hover {
  background-position: center 0px;
}
.equip-close-btn:active {
  background-position: center -48px;
}

.equip-status-banner {
  padding: 6px 16px;
  font-size: 11px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #232c35;
  background: #13181e;
  color: #00ff88;
}

.equip-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  gap: 10px;
  background: #1c2329;
  overflow: hidden;
}

.equip-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #13181e;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 7px 10px;
  flex-wrap: wrap;
}

.config-tabs {
  display: flex;
  gap: 6px;
}

.config-tab-btn {
  height: 24px;
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
  padding: 0 12px;
  font-family: Arial, sans-serif;
  font-size: 10px;
  font-weight: bold;
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transition: all 0.15s;
  text-transform: uppercase;
}
.config-tab-btn:hover {
  background: #222222;
  border-color: #555555;
  color: #ffffff;
}
.config-tab-btn.active {
  background: #101010;
  border-color: #4a5460;
  border-top-color: #ffd700;
  color: #ffd700;
  box-shadow: inset 0 1px 0 #ffd700;
}

.conf-active-pill {
  background: #00ff88;
  color: #000000;
  font-size: 8px;
  font-weight: 900;
  padding: 1px 4px;
  border-radius: 2px;
  letter-spacing: 0.5px;
}

.equip-stats-bar {
  display: flex;
  gap: 8px;
  align-items: center;
}

.stat-pill {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  background: #0d1216;
  border: 1px solid #25303a;
  border-radius: 3px;
  padding: 4px 8px;
}
.stat-lbl {
  color: #94a3b8;
  font-size: 11px;
  font-weight: 600;
}
.stat-val {
  color: #ffffff;
  font-family: monospace;
  font-weight: 700;
  font-size: 11.5px;
}
.stat-sub {
  color: #94a3b8;
  font-family: monospace;
  font-size: 10.5px;
}

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

.preset-controls {
  display: flex;
  align-items: center;
  gap: 4px;
}

.preset-select {
  background: #0a0e12;
  border: 1px solid #2a3540;
  color: #e2e8f0;
  font-size: 11px;
  font-family: monospace;
  border-radius: 3px;
  padding: 3px 6px;
  cursor: pointer;
  height: 26px;
  box-sizing: border-box;
}
.preset-select:focus {
  outline: none;
  border-color: #556b82;
}

.eq-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  min-width: 28px;
  height: 26px;
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  border-radius: 3px;
  cursor: pointer;
  border: 1px solid;
  text-transform: uppercase;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
  transition: all 0.15s;
  box-sizing: border-box;
}
.eq-action-btn.preset-btn {
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%);
  border-color: #3d4d5e;
  color: #e2e8f0;
}
.eq-action-btn.preset-btn:hover {
  background: linear-gradient(180deg, #374554 0%, #1e2832 100%);
  border-color: #556b82;
  color: #ffffff;
}
.eq-action-btn.clear {
  background: linear-gradient(180deg, #aa2222 0%, #551111 100%);
  border-color: #ff4444;
  color: #ffffff;
  gap: 5px;
}
.eq-action-btn.clear:hover {
  background: linear-gradient(180deg, #cc2a2a 0%, #771616 100%);
  border-color: #ff6666;
  box-shadow: 0 0 10px rgba(255, 68, 68, 0.5);
}

.equip-main-grid {
  flex: 1;
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 12px;
  overflow: hidden;
}

.equip-col {
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  gap: 8px;
  padding-right: 4px;
}
.equip-col::-webkit-scrollbar {
  width: 5px;
}
.equip-col::-webkit-scrollbar-thumb {
  background: #2a3540;
  border-radius: 3px;
}
.equip-col::-webkit-scrollbar-thumb:hover {
  background: #3e4e5e;
}

.equip-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 10px;
}

.equip-card-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: bold;
  color: #a2b0be;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
  border-bottom: 1px solid #1c252e;
  padding-bottom: 5px;
}

.slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
  gap: 4px;
}

.slot-cell {
  width: 42px;
  height: 42px;
  background: #090d10 url('/assets/equipment/icons/empty_slot.png') center/32px 32px no-repeat;
  border: 1px solid #1f2730;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  transition: all 0.15s;
}
.slot-cell:hover {
  border-color: #ffd700;
  background-color: #11171d;
}
.slot-cell.occupied {
  background-color: #0d1216;
  border-color: #2b3642;
}
.slot-cell.occupied:hover {
  border-color: #ff4444;
  box-shadow: 0 0 10px rgba(255, 68, 68, 0.4);
}
.slot-cell.occupied:hover::after {
  content: '✕';
  position: absolute;
  top: 1px;
  right: 3px;
  font-size: 10px;
  font-weight: 900;
  color: #ff4444;
}
.slot-cell.dragging {
  opacity: 0.45;
  border: 1px dashed #ffd700;
}
.slot-cell.drop-target-active,
.slots-grid.drop-target-active,
.drone-unit-card.drop-target-active,
.eq-ship-preview-card.drop-target-active,
.equip-card.drop-target-active,
.inv-slots-grid.drop-target-active {
  border-color: #00ff88 !important;
  box-shadow: 0 0 14px rgba(0, 255, 136, 0.55), inset 0 0 8px rgba(0, 255, 136, 0.2) !important;
}
.slot-cell img {
  width: 32px;
  height: 32px;
  image-rendering: auto;
  pointer-events: none;
}
.slot-num-badge {
  position: absolute;
  bottom: 1px;
  left: 3px;
  font-size: 8px;
  color: #ffd700;
  font-weight: bold;
  pointer-events: none;
}

.drone-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #090d10;
  border: 1px solid #1f2730;
  border-radius: 3px;
  padding: 4px 8px;
  margin-bottom: 5px;
}
.drone-row-info {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
}
.drone-slots-wrap {
  display: flex;
  gap: 5px;
}

.eq-main-tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 2px;
}
.eq-main-tab-btn {
  flex: 1;
  height: 26px;
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
  padding: 0 12px;
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
  transition: all 0.15s;
  text-transform: uppercase;
}
.eq-main-tab-btn:hover {
  background: #222222;
  border-color: #555555;
  color: #ffffff;
}
.eq-main-tab-btn.active {
  background: #101010;
  border-color: #4a5460;
  border-top-color: #ffd700;
  color: #ffd700;
  box-shadow: inset 0 1px 0 #ffd700;
}

.eq-ship-preview-card {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 12px;
}
.eq-ship-render-img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  image-rendering: auto;
  filter: none;
  flex-shrink: 0;
}
.eq-ship-preview-info {
  flex: 1;
  min-width: 0;
}
.eq-ship-preview-name {
  font-family: "Arial Black", Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.eq-ship-preview-stats {
  font-size: 12px;
  color: #94a3b8;
  margin-top: 4px;
  line-height: 1.4;
}

.eq-drones-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 10px;
}
.eq-drone-btn {
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%);
  border: 1px solid #3d4d5e;
  color: #e2e8f0;
  font-size: 11px;
  font-weight: bold;
  padding: 4px 8px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s;
}
.eq-drone-btn:hover {
  background: linear-gradient(180deg, #374554 0%, #1e2832 100%);
  border-color: #556b82;
  color: #fff;
}
.eq-drone-btn.clear {
  background: linear-gradient(180deg, #aa2222 0%, #551111 100%);
  border-color: #ff4444;
  color: #ffffff;
}
.eq-drone-btn.clear:hover {
  background: linear-gradient(180deg, #cc2a2a 0%, #771616 100%);
}
.drone-cards-container {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 480px;
  overflow-y: auto;
  padding-right: 4px;
}
.drone-unit-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 10px;
  transition: border-color 0.15s;
}
.drone-unit-card:hover {
  border-color: #ffd700;
}
.drone-card-left {
  display: flex;
  align-items: center;
  gap: 12px;
}
.drone-card-img {
  width: 44px;
  height: 44px;
  object-fit: contain;
  image-rendering: auto;
  filter: none;
}
.drone-card-title {
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
}
.drone-card-bonus {
  font-size: 10px;
  color: #00ff88;
  margin-top: 2px;
}

.inv-accordion-container {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-right: 4px;
}
.do-accordion-section {
  border: 1px solid #1f2730;
  border-radius: 3px;
  background: #0b0f13;
  overflow: hidden;
}
.do-accordion-header {
  height: 28px;
  background: linear-gradient(180deg, #182028 0%, #0e1318 100%);
  border-bottom: 1px solid #171f26;
  padding: 0 10px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  transition: all 0.15s ease;
}
.do-accordion-header:hover {
  background: linear-gradient(180deg, #222c36 0%, #121820 100%);
  border-color: #384654;
}
.do-acc-title-wrap {
  display: flex;
  align-items: center;
  gap: 8px;
}
.do-acc-arrow {
  font-size: 9px;
  color: #ffd700;
  transition: transform 0.2s ease;
  display: inline-block;
}
.do-acc-title {
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.5px;
  color: #ffffff;
  text-transform: uppercase;
}
.do-acc-count {
  font-size: 10px;
  font-weight: bold;
  color: #ffd700;
  background: rgba(0, 0, 0, 0.65);
  padding: 1px 7px;
  border-radius: 10px;
  border: 1px solid #28333e;
}
.do-accordion-section.collapsed .do-acc-arrow {
  transform: rotate(-90deg);
}
.do-accordion-section.collapsed .do-accordion-body {
  display: none;
}
.do-accordion-body {
  padding: 6px;
}
.do-accordion-body .inv-slots-grid {
  min-height: 48px;
  background: transparent;
  border: none;
  padding: 0;
}

.design-showroom-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  gap: 16px;
  align-items: center;
}
.design-showroom-viewport {
  width: 130px;
  height: 130px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.05) 0%, #0a0e12 70%);
  border: 1px solid #28333e;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.design-showroom-sprite {
  width: 100px;
  height: 100px;
  object-fit: contain;
  image-rendering: auto;
  filter: none;
  transition: transform 0.05s linear;
}
.design-showroom-angle-hint {
  position: absolute;
  bottom: 4px;
  font-size: 8px;
  color: #8e9ba8;
  font-weight: bold;
  letter-spacing: 0.5px;
}
.design-showroom-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.design-showroom-title {
  font-size: 14px;
  font-weight: bold;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.design-equipped-badge {
  font-size: 9px;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 3px;
  letter-spacing: 0.5px;
  background: #00ff88;
  color: #000;
}
.design-equipped-badge.inactive {
  background: #171f26;
  color: #8e9ba8;
  border: 1px solid #26313b;
}
.design-showroom-desc {
  font-size: 11px;
  color: #8e9ba8;
  line-height: 1.35;
  min-height: 32px;
}
.design-showroom-actions {
  display: flex;
  gap: 8px;
  margin-top: 4px;
}
.design-action-btn {
  padding: 6px 14px;
  font-size: 10px;
  font-weight: bold;
  border-radius: 3px;
  cursor: pointer;
  border: 1px solid;
  text-transform: uppercase;
  transition: all 0.15s;
}
.design-action-btn.apply {
  background: linear-gradient(180deg, #ffaa00, #995500);
  border-color: #ffd700;
  color: #fff;
}
.design-action-btn.apply:hover {
  filter: brightness(1.2);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.45);
}
.design-action-btn.apply:disabled {
  opacity: 0.4;
  cursor: default;
  filter: none;
}
.design-action-btn.remove {
  background: linear-gradient(180deg, #aa2222, #551111);
  border-color: #ff4444;
  color: #ffffff;
}
.design-action-btn.remove:hover {
  background: linear-gradient(180deg, #cc2a2a, #771616);
}
.design-action-btn.buy {
  background: linear-gradient(180deg, #ffaa00, #995500);
  border-color: #ffd700;
  color: #fff;
}
.design-action-btn.buy:hover {
  filter: brightness(1.25);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
.design-equipped-badge.owned {
  background: #2b3642;
  color: #fff;
  border: 1px solid #3d4d5e;
}
.design-equipped-badge.unowned {
  background: #2a1a10;
  color: #ffd088;
  border: 1px solid #774422;
}
.design-filter-bar {
  display: flex;
  gap: 6px;
  margin-top: 2px;
}
.design-filter-pill {
  padding: 4px 10px;
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
  border-radius: 12px;
  font-size: 9px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.15s;
  text-transform: uppercase;
}
.design-filter-pill:hover {
  border-color: #ffd700;
  color: #fff;
}
.design-filter-pill.active {
  background: #101010;
  border-color: #ffd700;
  color: #ffd700;
}
.design-card-badge {
  position: absolute;
  top: 4px;
  right: 4px;
  font-size: 8px;
  font-weight: 900;
  padding: 1px 4px;
  border-radius: 3px;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}
.design-card-badge.equipped {
  background: #00ff88;
  color: #000;
}
.design-card-badge.owned {
  background: #2b3642;
  color: #fff;
}
.design-card-badge.unowned {
  background: rgba(40, 20, 10, 0.85);
  color: #ffaa44;
  border: 1px solid #774422;
}
.design-subtabs-bar {
  display: flex;
  gap: 6px;
}
.design-subtab-btn {
  flex: 1;
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
  padding: 6px 10px;
  font-size: 10px;
  font-weight: bold;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s;
  text-transform: uppercase;
}
.design-subtab-btn:hover {
  border-color: #ffd700;
  color: #fff;
}
.design-subtab-btn.active {
  background: #101010;
  border-color: #ffd700;
  color: #ffd700;
}
.design-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  gap: 8px;
  max-height: 290px;
  overflow-y: auto;
  padding-right: 4px;
}
.design-gallery-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 10px 6px 8px;
  min-height: 108px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
  cursor: pointer;
  transition: all 0.15s;
  position: relative;
  text-align: center;
}
.design-gallery-card:hover {
  border-color: #ffd700;
  background: #161e26;
}
.design-gallery-card.selected {
  border-color: #ffd700;
  background: #18222c;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
}
.design-gallery-card.equipped {
  border-color: #00ff88;
}
.design-gallery-card img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  image-rendering: auto;
}
.design-card-name {
  font-size: 10px;
  font-weight: bold;
  color: #fff;
  line-height: 1.2;
}
.design-card-sub {
  font-size: 9px;
  color: #ffd700;
}

.inv-slots-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(42px, 1fr));
  gap: 4px;
  align-content: start;
  padding: 5px;
  background: #090d10;
  border: 1px solid #1f2730;
  border-radius: 4px;
  min-height: 200px;
  transition: all 0.15s;
}
.inv-slot-cell {
  width: 42px;
  height: 42px;
  background: #090d10 url('/assets/equipment/icons/empty_slot.png') center/32px 32px no-repeat;
  border: 1px solid #1f2730;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  transition: all 0.15s;
  user-select: none;
}
.inv-slot-cell:hover {
  border-color: #ffd700;
  background-color: #11171d;
}
.inv-slot-cell.selected {
  border-color: #ffd700;
  background-color: #161e26;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.4);
}
.inv-slot-cell.dragging {
  opacity: 0.4;
  border: 1px dashed #ffd700;
}
.inv-slot-cell img {
  width: 32px;
  height: 32px;
  object-fit: contain;
  image-rendering: auto;
  pointer-events: none;
}
.inv-slot-badge {
  position: absolute;
  bottom: 1px;
  right: 2px;
  font-size: 8px;
  font-weight: 900;
  color: #ffd700;
  background: rgba(0, 0, 0, 0.75);
  padding: 0 2px;
  border-radius: 2px;
  pointer-events: none;
  letter-spacing: -0.5px;
  text-shadow: 1px 1px 1px #000;
}
.inv-slot-empty {
  opacity: 0.25;
  cursor: default;
}
.inv-slot-empty:hover {
  border-color: #1f2730;
  background-color: #090d10;
  box-shadow: none;
}

.inv-item-detail-footer {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #0d1216;
  border: 1px solid #232d36;
  border-radius: 3px;
  padding: 8px 10px;
  margin-top: 8px;
  min-height: 52px;
}
.inv-detail-icon {
  width: 44px;
  height: 44px;
  object-fit: contain;
  image-rendering: auto;
  border: 1px solid #26313b;
  border-radius: 3px;
  background: #090d10;
  padding: 2px;
  flex-shrink: 0;
}
.inv-detail-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.inv-detail-title {
  font-size: 11px;
  font-weight: bold;
  color: #ffffff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.inv-detail-desc {
  font-size: 10px;
  color: #8e9ba8;
  line-height: 1.3;
}
.inv-detail-hint {
  font-size: 9px;
  color: #ffd700;
  font-style: italic;
}


/* ==========================================================================
   §32. NEGOZIO IMPERIALE & ACQUISTI (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-shop-window), Catalogo Multicategoria,
   Piattaforma Olografica di Anteprima & Pulsante Flash Verde 190x33px.
   ========================================================================== */

#shop-modal,
.do-shop-window {
  width: 1060px;
  min-width: 860px;
  min-height: 540px;
  max-width: 1440px;
  max-height: 900px;
  height: 700px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 12px 48px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: inherit;
}

.do-shop-window.kr-win-minimized {
  height: 40px !important;
  min-height: 40px !important;
  overflow: hidden !important;
}

.do-shop-window.kr-win-minimized .shop-card-wrapper {
  display: none !important;
}

.shop-card-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 48px;
  flex-shrink: 0;
}

.shop-header-left,
.shop-title-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
}

.shop-header-grip,
.do-shop-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}

.shop-header-grip:hover,
.do-shop-header-grip:hover {
  opacity: 1;
}

.shop-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}

.shop-heading,
.shop-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #000, 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.shop-head-right,
.shop-header-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.shop-close-btn {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  display: block;
  transition: filter 0.15s ease;
  image-rendering: auto;
}
.shop-close-btn:hover {
  background-position: center 0px;
  filter: brightness(1.2);
}
.shop-close-btn:active {
  background-position: center -48px;
}

.shop-wallet-wrap {
  display: flex;
  gap: 10px;
  align-items: center;
}
.shop-wallet-pill {
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: bold;
  display: flex;
  align-items: center;
  gap: 6px;
}

.shop-main-layout {
  flex: 1;
  display: grid;
  grid-template-columns: 200px 1fr 340px;
  overflow: hidden;
  background: #141a20;
}

.shop-categories-sidebar {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 12px 10px;
  background: #12171c;
  border-right: 1px solid #26313b;
}

.shop-cat-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
  padding: 9px 12px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
  text-align: left;
}
.shop-cat-btn:hover {
  border-color: #556270;
  color: #ffffff;
  background: #202020;
}
.shop-cat-btn.active {
  border-left: 3px solid #ffd700;
  border-color: #38404a #38404a #38404a #ffd700;
  background: #101010;
  color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
}
.shop-cat-notch {
  width: 3px;
  height: 12px;
  background: #44505c;
  border-radius: 1px;
  flex-shrink: 0;
}
.shop-cat-btn.active .shop-cat-notch {
  background: #ffd700;
  box-shadow: 0 0 6px #ffd700;
}

.shop-items-center {
  padding: 14px;
  overflow-y: auto;
  border-right: 1px solid #26313b;
  background: #171d24;
}

.shop-items-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(122px, 1fr));
  gap: 10px;
}

.shop-card-item {
  display: flex;
  flex-direction: column;
  background: radial-gradient(circle at center, #171720 0%, #0c0c10 100%);
  border: 1px solid #26313b;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}
.shop-card-item:hover {
  transform: scale(1.04);
  border-color: #ffd700;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.25);
}
.shop-card-item.selected {
  border-color: #ffd700;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.35);
}

.shop-card-head {
  padding: 5px 6px;
  background: #101418;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
  border-bottom: 1px solid #26313b;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.5px;
}

.shop-card-body {
  height: 102px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  padding: 4px;
  position: relative;
}
.shop-card-body img {
  width: 96px;
  height: 96px;
  max-width: 96px;
  max-height: 96px;
  object-fit: contain;
  image-rendering: auto;
  transition: filter 0.2s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.shop-card-body img.item-speed,
.shop-card-body img.item-credits {
  filter: drop-shadow(0 0 8px rgba(247, 139, 57, 0.5));
}
.shop-card-item:hover .shop-card-body img.item-speed,
.shop-card-item:hover .shop-card-body img.item-credits {
  filter: drop-shadow(0 0 14px rgba(247, 139, 57, 0.85));
  transform: scale(1.04);
}
.shop-card-body img.item-shield,
.shop-card-body img.item-uridium {
  filter: drop-shadow(0 0 8px rgba(0, 229, 255, 0.45));
}
.shop-card-item:hover .shop-card-body img.item-shield,
.shop-card-item:hover .shop-card-body img.item-uridium {
  filter: drop-shadow(0 0 14px rgba(0, 229, 255, 0.85));
  transform: scale(1.04);
}

.shop-card-foot {
  padding: 6px 8px;
  background: #0d1115;
  border-top: 1px solid #26313b;
  font-size: 11.5px;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}

.shop-preview-pane {
  display: flex;
  flex-direction: column;
  padding: 16px 14px;
  gap: 12px;
  background: #12171c;
  overflow-y: auto;
}

.shop-stage-card {
  position: relative;
  border: 1px solid #26313b;
  border-radius: 4px;
  background: radial-gradient(circle at center, #1b242e 0%, #0d1115 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 10px 12px 10px;
  gap: 6px;
  overflow: hidden;
}

.shop-stage-pedestal {
  position: relative;
  width: 100%;
  height: 106px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shop-platform-ring {
  position: absolute;
  bottom: 4px;
  width: 130px;
  height: 22px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 215, 0, 0.4);
  background: rgba(255, 215, 0, 0.05);
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.2);
  pointer-events: none;
}

.shop-stage-img {
  max-width: 96px;
  max-height: 96px;
  width: 96px;
  height: 96px;
  object-fit: contain;
  z-index: 2;
  image-rendering: auto;
  filter: drop-shadow(0 0 12px rgba(0, 229, 255, 0.5));
}

.shop-stage-meta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  width: 100%;
  text-align: center;
  z-index: 2;
}

.shop-preview-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 14px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-align: center;
  margin: 0;
  text-transform: uppercase;
}

.shop-preview-sub {
  font-size: 12px;
  color: #94a3b8;
  line-height: 1.45;
  text-align: center;
  padding: 0 12px;
  margin: 0;
}

.shop-stats-table {
  background: #0e1318;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.shop-stat-row {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  padding: 3px 0;
  border-bottom: 1px solid #1a222a;
}
.shop-stat-row:last-child {
  border-bottom: none;
}

.shop-purchase-box {
  background: #0e1318;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: auto;
}

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

.shop-qty-ctrls {
  display: flex;
  gap: 4px;
}

.shop-qty-btn {
  background: #1b242e;
  border: 1px solid #2d3844;
  color: #ffffff;
  width: 28px;
  height: 26px;
  border-radius: 3px;
  cursor: pointer;
  font-weight: bold;
  transition: all 0.15s ease;
}
.shop-qty-btn:hover {
  background: #253342;
  border-color: #ffd700;
}
.shop-qty-btn.max {
  width: 38px;
  font-size: 9.5px;
  color: #ffd700;
  font-weight: bold;
}

.shop-qty-val {
  width: 48px;
  height: 26px;
  background: #0d1115;
  border: 1px solid #2d3844;
  color: #ffd700;
  font-weight: bold;
  text-align: center;
  font-family: inherit;
  border-radius: 3px;
}

.shop-price-summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #1f2730;
  padding-top: 6px;
}

/* 4-State Green Flash Action Button (190x33px) */
.shop-buy-submit-btn,
.btn-shop-buy-action,
.btn-flash-shop-buy {
  width: 190px;
  height: 33px;
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border: none !important;
  border-radius: 0;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
  transition: filter 0.15s ease, transform 0.1s ease;
  margin: 0 auto;
  padding: 0 12px;
  box-sizing: border-box;
}

.shop-buy-submit-btn:hover:not(:disabled),
.btn-shop-buy-action:hover:not(:disabled),
.btn-flash-shop-buy:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
}

.shop-buy-submit-btn:active:not(:disabled),
.btn-shop-buy-action:active:not(:disabled),
.btn-flash-shop-buy:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}

.shop-buy-submit-btn:disabled,
.btn-shop-buy-action:disabled,
.btn-flash-shop-buy:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.65);
  box-shadow: none !important;
}


/* ==========================================================================
   §33. COMMERCIO MINERALI STAZIONE (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-oretrade-window), Griglia Colonne Minerali,
   Stepper e Pulsante Flash Verde 190x33px "SELL ALL".
   ========================================================================== */

#ore-trade-modal,
.do-oretrade-window {
  width: 600px;
  max-width: 96vw;
  height: 340px;
  background: #090e13;
  border: 2px solid #2b3947;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 10px 40px rgba(0, 0, 0, 0.9);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.do-oretrade-window.kr-win-minimized {
  height: 40px !important;
  min-height: 40px !important;
  overflow: hidden !important;
}

.do-oretrade-window.kr-win-minimized .oretrade-modal-body,
.do-oretrade-window.kr-win-minimized .trade-window-body {
  display: none !important;
}

.oretrade-modal-header,
.trade-window-header {
  position: relative;
  height: 32px;
  background: linear-gradient(90deg, #0e151c 0%, #151e28 70%, #0c3645 100%);
  border-bottom: 2px solid #0099bb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 10px;
  flex-shrink: 0;
}

.oretrade-header-left,
.trade-window-title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #dfcf99;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.oretrade-header-grip,
.do-oretrade-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.oretrade-header-grip:hover,
.do-oretrade-header-grip:hover {
  opacity: 1;
}

.oretrade-header-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
  image-rendering: auto;
}

.trade-window-icon {
  color: #00e5ff;
  font-size: 13px;
  font-weight: 900;
  line-height: 1;
}

.oretrade-header-controls,
.trade-window-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.oretrade-ctrl-btn {
  background: transparent;
  border: none;
  cursor: pointer;
}

.trade-btn-header-ctrl {
  width: 14px;
  height: 14px;
  background: #101820;
  border: 1px solid #0099bb;
  color: #ffd700;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 2px;
}
.trade-btn-header-ctrl:hover {
  background: #0099bb;
  color: #fff;
}

.oretrade-modal-body,
.trade-window-body {
  flex: 1;
  background: #06090c;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 6px;
}

.ore-columns-container {
  display: flex;
  gap: 4px;
  justify-content: space-between;
  height: 154px;
}

.ore-column {
  flex: 1;
  max-width: 80px;
  height: 154px;
  background: linear-gradient(180deg, #1b2229 0%, #0e1217 100%);
  border: 1px solid #2e3842;
  border-radius: 3px;
  padding: 3px 2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  position: relative;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.ore-column.active-selected {
  border: 1.5px solid #0099ff;
  box-shadow: 0 0 10px rgba(0, 153, 255, 0.45), inset 0 0 6px rgba(0, 153, 255, 0.25);
}

.ore-rate-pill {
  width: 100%;
  height: 17px;
  background: #090e13;
  border: 1px solid #27323d;
  border-radius: 2px;
  color: #ffffff;
  font-size: 10.5px;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.3px;
}

.ore-name-title {
  color: #b8c4d0;
  font-size: 9.5px;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
  font-style: italic;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  text-align: center;
  margin-top: 1px;
}

.ore-visual-bay {
  width: 100%;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
}

.ore-img {
  max-width: 40px;
  max-height: 40px;
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.8));
  transition: filter 0.2s ease, transform 0.2s ease;
}

.ore-column.dimmed .ore-img {
  filter: grayscale(1) brightness(0.6) opacity(0.8);
}

.ore-column.active-selected .ore-img {
  filter: drop-shadow(0 0 8px rgba(255, 170, 0, 0.8)) brightness(1.15);
  transform: scale(1.04);
}

.ore-stock-label {
  height: 14px;
  color: #ffffff;
  font-size: 11px;
  font-family: monospace;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ore-stepper-row {
  width: 100%;
  height: 16px;
  display: flex;
  align-items: center;
  gap: 1px;
}

.ore-step-btn {
  width: 14px;
  height: 16px;
  background: #141c24;
  border: 1px solid #2a3744;
  color: #88aacc;
  font-size: 9px;
  font-weight: 900;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border-radius: 1px;
  padding: 0;
}
.ore-step-btn:hover {
  background: #1e2a36;
  color: #00e5ff;
}
.ore-column.active-selected .ore-step-btn {
  border-color: #0099ff;
  color: #00e5ff;
}

.ore-qty-display {
  flex: 1;
  height: 16px;
  background: #080c10;
  border: 1px solid #1e2832;
  border-radius: 1px;
  color: #ffffff;
  font-size: 10.5px;
  font-family: monospace;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ore-column.active-selected .ore-qty-display {
  background: #0a1826;
  border-color: #0077cc;
  color: #ffffff;
}

.ore-payout-pill {
  width: 100%;
  height: 15px;
  background: #080c10;
  border: 1px solid #1e2832;
  border-radius: 1px;
  color: #ffffff;
  font-size: 9px;
  font-family: monospace;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 1px;
}
.ore-column.active-selected .ore-payout-pill {
  border-color: #0077cc;
  color: #ffffff;
}

.ore-action-btn {
  width: 100%;
  height: 18px;
  border-radius: 1px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 8.5px;
  font-weight: 900;
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-transform: uppercase;
  padding: 0;
  transition: all 0.15s ease;
}
.ore-action-btn.disabled {
  background: #11161d;
  border: 1px solid #222b34;
  color: #445260;
  cursor: not-allowed;
}
.ore-action-btn.active-sell {
  background: linear-gradient(180deg, #1b5383 0%, #0e3052 100%);
  border: 1px solid #0099ff;
  color: #ffffff;
  text-shadow: 0 0 4px #00b4ff;
  box-shadow: 0 0 6px rgba(0, 153, 255, 0.5);
}
.ore-action-btn.active-sell:hover {
  background: linear-gradient(180deg, #246ba6 0%, #123d68 100%);
  box-shadow: 0 0 10px rgba(0, 229, 255, 0.7);
}

.trade-location-info {
  text-align: center;
  font-size: 10.5px;
  color: #b0c0d0;
  letter-spacing: 0.3px;
  margin: 1px 0;
}

.trade-footer-buttons {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 0 2px 0;
}

/* 4-State Green Flash Action Button (190x33px) for SELL ALL */
.btn-flash-sell-all,
.trade-big-btn.trade-btn-sellall {
  width: 190px !important;
  max-width: 190px !important;
  height: 33px !important;
  background-color: transparent !important;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') !important;
  background-size: 100% 100% !important;
  background-repeat: no-repeat !important;
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9) !important;
  transition: filter 0.15s ease, transform 0.1s ease !important;
  margin: 0 auto;
  padding: 0 12px;
  box-sizing: border-box;
}

.btn-flash-sell-all:hover:not(:disabled),
.trade-big-btn.trade-btn-sellall:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6)) !important;
}

.btn-flash-sell-all:active:not(:disabled),
.trade-big-btn.trade-btn-sellall:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
  transform: translateY(1px);
}

.btn-flash-sell-all:disabled,
.trade-big-btn.trade-btn-sellall:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png') !important;
  cursor: not-allowed !important;
  filter: grayscale(0.8) opacity(0.65) !important;
  box-shadow: none !important;
}


/* ==========================================================================
   §34. RAFFINAZIONE, HI-TECH & ARSENALE (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-refinement-window), Nav Bar a 4 Tab,
   Piramide di Raffinazione, Drag & Drop Upgrades, Sub-Dialog Bevel #refine-amount-modal.
   ========================================================================== */

#refinement-modal,
.do-refinement-window {
  width: 1040px;
  min-width: 840px;
  min-height: 560px;
  max-width: 1400px;
  max-height: 900px;
  height: 720px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 12px 48px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: inherit;
}

.do-refinement-window.kr-win-minimized {
  height: 40px !important;
  min-height: 40px !important;
  overflow: hidden !important;
}

.do-refinement-window.kr-win-minimized .refine-nav-bar,
.do-refinement-window.kr-win-minimized .refine-tabs,
.do-refinement-window.kr-win-minimized .refinement-modal-body,
.do-refinement-window.kr-win-minimized .refine-body {
  display: none !important;
}

.refinement-modal-header,
.refine-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 16px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 48px;
  flex-shrink: 0;
}

.refinement-header-left,
.refine-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #000, 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.refinement-header-grip,
.do-refinement-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.refinement-header-grip:hover,
.do-refinement-header-grip:hover {
  opacity: 1;
}

.refinement-header-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  image-rendering: auto;
}

.refinement-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.refine-ctrl-btn {
  background: transparent;
  border: none;
  cursor: pointer;
}

.refine-close-btn {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  display: block;
  transition: filter 0.15s ease;
  image-rendering: auto;
}
.refine-close-btn:hover {
  background-position: center 0px;
  filter: brightness(1.2);
}
.refine-close-btn:active {
  background-position: center -48px;
}

.refine-nav-bar,
.refine-tabs {
  display: flex;
  gap: 6px;
  padding: 8px 16px;
  background: #141a20;
  border-bottom: 1px solid #26313b;
  flex-shrink: 0;
}

.refine-nav-tabs {
  display: flex;
  gap: 6px;
  width: 100%;
}

.refine-tab-btn {
  flex: 1;
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 4px;
  color: #bfbfbf;
  font-family: 'Arial Black', Arial, sans-serif;
  padding: 8px 14px;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.refine-tab-btn:hover {
  background: #222222;
  border-color: #556270;
  color: #ffffff;
}
.refine-tab-btn.active {
  background: #101010;
  border-top: 2px solid #ffd700;
  border-color: #ffd700 #38404a #38404a #38404a;
  color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
}

.refine-unequip-btn {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: #170d10;
  border: 1px solid rgba(255, 85, 102, 0.4);
  border-radius: 3px;
  color: #ff5566;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9px;
  font-weight: 900;
  padding: 3px 6px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.refine-unequip-btn:hover {
  background: #2a1217;
  border-color: #ff5566;
  color: #ffffff;
  box-shadow: 0 0 6px rgba(255, 85, 102, 0.4);
}
.refine-unequip-btn svg {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
}

.refine-cargo-summary {
  background: #12171c;
  border-bottom: 1px solid #26313b;
  padding: 6px 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.refine-ore-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #0d1115;
  border: 1px solid #1f2730;
  border-radius: 3px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: bold;
}
.refine-ore-pill img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.refinement-modal-body,
.refine-body {
  flex: 1;
  overflow-y: auto;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #141a20;
}

.refine-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 12px 14px;
  display: flex;
  gap: 16px;
  align-items: center;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.refine-card:hover {
  border-color: #3d4d5e;
}
.refine-card-img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(0, 0, 0, 0.8));
}

.refine-action-btn {
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%);
  border: 1px solid #3d4d5e;
  border-radius: 3px;
  color: #e0e0e0;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  padding: 7px 16px;
  font-size: 11px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}
.refine-action-btn:hover {
  background: linear-gradient(180deg, #374656 0%, #1e2832 100%);
  border-color: #ffd700;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.25);
}

.refine-qty-btn {
  background: #1b242e;
  border: 1px solid #2d3844;
  color: #bfbfbf;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 10px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.15s ease;
}
.refine-qty-btn:hover {
  background: #253342;
  border-color: #ffd700;
  color: #ffffff;
}

.refine-upgrade-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 12px 14px;
  display: flex;
  gap: 16px;
  align-items: center;
}

.refine-pyramid-viewport {
  position: relative;
  width: 100%;
  min-height: 440px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 10px 0;
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  user-select: none;
}
.refine-pyramid-svg-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 820px;
  height: 440px;
  pointer-events: none;
  z-index: 1;
}
.refine-pyramid-level {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 820px;
}
.refine-level-1 {
  gap: 110px;
  margin-top: 10px;
}
.refine-level-2 {
  gap: 90px;
  margin-top: 45px;
}
.refine-level-3 {
  margin-top: 45px;
}

.refine-ore-slot {
  width: 90px;
  background: #182028;
  border: 1px solid #2d3844;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5), inset 0 0 10px rgba(0, 0, 0, 0.8);
  transition: transform 0.15s, border-color 0.15s, box-shadow 0.15s;
}
.refine-ore-slot:hover {
  border-color: #ffd700;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.25);
  transform: translateY(-2px);
}
.refine-ore-slot-header {
  width: 100%;
  text-align: center;
  font-size: 11px;
  font-weight: bold;
  letter-spacing: 0.5px;
  padding: 4px 2px;
  border-bottom: 1px solid #26313b;
  background: #0e1318;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  text-transform: uppercase;
}
.refine-ore-slot-icon {
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
}
.refine-ore-slot-icon img {
  max-width: 66px;
  max-height: 64px;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.8));
}
.refine-ore-slot-count {
  width: 100%;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  padding: 3px 2px;
  border-top: 1px solid #26313b;
  background: #0e1318;
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
  letter-spacing: 0.5px;
}

.refine-craft-node {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.refine-craft-controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #182028;
  border: 1px solid #2d3844;
  border-radius: 4px;
  padding: 5px 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}
.refine-craft-stepper {
  display: flex;
  align-items: center;
  gap: 4px;
}
.refine-craft-input {
  width: 48px;
  height: 20px;
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 2px;
  color: #ffd700;
  font-size: 11px;
  font-weight: bold;
  text-align: center;
  padding: 0 2px;
}
.refine-craft-btn {
  width: 84px;
  height: 24px;
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%);
  border: 1px solid #3d4d5e;
  border-radius: 3px;
  color: #e0e0e0;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.15s ease;
  text-transform: uppercase;
}
.refine-craft-btn:hover:not(:disabled) {
  background: linear-gradient(180deg, #374656 0%, #1e2832 100%);
  border-color: #ffd700;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
  transform: translateY(-1px);
}
.refine-craft-btn:active:not(:disabled) {
  transform: translateY(1px);
}
.refine-craft-btn:disabled {
  background: #141a20;
  border-color: #242c36;
  color: #556270;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.6;
}
.refine-recipe-tag {
  font-size: 9.5px;
  color: #8fa0b0;
  letter-spacing: 0.3px;
  font-weight: bold;
}

.refine-upgrade-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  user-select: none;
}
.refine-upgrade-section {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.refine-upgrade-section-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.refine-slots-row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}
.refine-drag-slot {
  cursor: grab;
  border: 1.5px solid #3d4d5e !important;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.refine-drag-slot:hover:not(.empty-ore) {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(255, 215, 0, 0.3);
  border-color: #ffd700 !important;
}
.refine-drag-slot:active:not(.empty-ore) {
  cursor: grabbing;
}
.refine-drag-slot.empty-ore {
  opacity: 0.4;
  cursor: not-allowed;
  border-color: #26313b !important;
  box-shadow: none;
}
.refine-target-slot {
  width: 185px;
  min-height: 180px;
  background: #182028;
  border: 1.5px solid #2d3844;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px;
  gap: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
  transition: all 0.2s ease;
}
.refine-target-slot-header {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.refine-target-slot-icon {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0e1318;
  border: 1px solid #26313b;
  border-radius: 4px;
}
.refine-target-slot-icon img {
  max-width: 56px;
  max-height: 56px;
  object-fit: contain;
}
.refine-target-status {
  font-size: 11px;
  font-weight: bold;
  color: #ffffff;
  text-align: center;
  background: #0e1318;
  padding: 4px 8px;
  border-radius: 3px;
  border: 1px solid #26313b;
  width: 100%;
  box-sizing: border-box;
}
.refine-target-badge {
  font-size: 10px;
  font-weight: bold;
  padding: 3px 6px;
  border-radius: 3px;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
}
.refine-target-slot.valid-target-highlight {
  border-color: #2ecc71 !important;
  box-shadow: 0 0 20px rgba(46, 204, 113, 0.5) !important;
  background: #12241a !important;
  transform: scale(1.03);
}
.refine-target-slot.invalid-target-dim {
  opacity: 0.25 !important;
  filter: grayscale(0.8) !important;
  cursor: not-allowed !important;
}
.refine-target-slot.drag-over {
  border-color: #ffd700 !important;
  box-shadow: 0 0 25px rgba(255, 215, 0, 0.6) !important;
  background: #2a220e !important;
}

/* Modale Quantità Drag'n'Drop & Dialogo Bevel DarkOrbit Parity */
#refine-amount-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 320px;
  background: #11171d;
  border: 2px solid #3a4b5d;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 10px 40px rgba(0, 0, 0, 0.9);
  z-index: 250;
  display: none;
  flex-direction: column;
  padding: 14px 16px;
  gap: 12px;
  user-select: none;
  animation: refineFadeIn 0.15s ease-out;
}
@keyframes refineFadeIn {
  from { opacity: 0; transform: translate(-50%, -46%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}

.refine-amount-frame {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.refine-amount-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #23313e;
  padding-bottom: 8px;
}
.refine-amount-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
}
.refine-amount-desc {
  font-size: 11px;
  color: #88aacc;
  text-align: center;
  line-height: 1.4;
}
.refine-amount-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: center;
}
.refine-preset-btn {
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 3px;
  color: #bfbfbf;
  font-size: 10px;
  font-weight: bold;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.refine-preset-btn:hover {
  background: #222222;
  color: #ffffff;
  border-color: #ffd700;
}
.refine-amount-input-row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}
.refine-amount-input {
  width: 90px;
  height: 26px;
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  color: #ffd700;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
}
.refine-amount-unit {
  font-size: 11px;
  color: #88aacc;
}
.refine-amount-actions {
  display: flex;
  gap: 10px;
  margin-top: 4px;
}
.refine-amount-btn-confirm {
  flex: 1;
  background: linear-gradient(180deg, #1b4d2e 0%, #0e2a19 100%);
  border: 1px solid #2ecc71;
  border-radius: 3px;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 7px;
  cursor: pointer;
  text-transform: uppercase;
  transition: all 0.15s ease;
}
.refine-amount-btn-confirm:hover {
  background: linear-gradient(180deg, #23633b 0%, #133a23 100%);
  box-shadow: 0 0 10px rgba(46, 204, 113, 0.4);
}
.refine-amount-btn-cancel {
  flex: 1;
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%);
  border: 1px solid #3d4d5e;
  border-radius: 3px;
  color: #bfbfbf;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 7px 10px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.refine-amount-btn-cancel:hover {
  background: linear-gradient(180deg, #374656 0%, #1e2832 100%);
  color: #ffffff;
  border-color: #ffd700;
}

.arsenal-header-banner {
  background: linear-gradient(90deg, #12101f 0%, #1a162b 100%);
  border: 1px solid #3c2d58;
  border-radius: 4px;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 4px 12px rgba(0,0,0,0.4);
}
.arsenal-inventory-bar {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: center;
  background: rgba(10, 8, 18, 0.6);
  border: 1px solid #281d3d;
  border-radius: 4px;
  padding: 8px 12px;
}
.arsenal-mat-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #0d0b16;
  border: 1px solid #2a1f40;
  border-radius: 3px;
  padding: 4px 8px;
  font-size: 11px;
}
.arsenal-filter-bar {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
}
.arsenal-filter-btn {
  background: #151222;
  border: 1px solid #2e2448;
  border-radius: 3px;
  color: #a89bc5;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  padding: 6px 12px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}
.arsenal-filter-btn:hover {
  background: #231c38;
  color: #fff;
  border-color: #8e44ad;
}
.arsenal-filter-btn.active {
  background: #341948;
  border-color: #bf55ec;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(191, 85, 236, 0.4);
}
.arsenal-card-grid {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.arsenal-card {
  background: radial-gradient(circle at center, #171720 0%, #0c0c10 100%);
  border: 1px solid #232b35;
  border-radius: 6px;
  padding: 14px 16px;
  display: flex;
  gap: 18px;
  align-items: center;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.arsenal-card:hover {
  transform: scale(1.01);
  border-color: #bf55ec;
  box-shadow: 0 0 14px rgba(191, 85, 236, 0.25);
}
.arsenal-card-img-wrap {
  width: 88px;
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid #222933;
  border-radius: 6px;
  flex-shrink: 0;
  position: relative;
}
.arsenal-card-img {
  width: 76px;
  height: 76px;
  object-fit: contain;
  image-rendering: auto;
  transition: transform 0.2s ease;
}
.arsenal-card:hover .arsenal-card-img {
  transform: scale(1.06);
}
.arsenal-card-img.glow-cyan {
  filter: drop-shadow(0 0 10px rgba(0, 229, 255, 0.6));
}
.arsenal-card-img.glow-amber {
  filter: drop-shadow(0 0 10px rgba(247, 139, 57, 0.6));
}
.arsenal-card-img.glow-crimson {
  filter: drop-shadow(0 0 10px rgba(255, 30, 80, 0.7));
}
.arsenal-card-img.glow-purple {
  filter: drop-shadow(0 0 10px rgba(191, 85, 236, 0.7));
}
.arsenal-req-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: bold;
}
.arsenal-req-ok {
  background: rgba(0, 255, 136, 0.1);
  border: 1px solid rgba(0, 255, 136, 0.4);
  color: #00ff88;
}
.arsenal-req-missing {
  background: rgba(255, 77, 109, 0.12);
  border: 1px solid rgba(255, 77, 109, 0.5);
  color: #ff4d6d;
}
.arsenal-btn-synth {
  background: linear-gradient(180deg, #8e44ad 0%, #5b2c6f 100%);
  border: 1px solid #bf55ec;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  padding: 8px 18px;
  font-size: 11px;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.2s ease;
}
.arsenal-btn-synth:hover:not(:disabled) {
  background: linear-gradient(180deg, #a569bd 0%, #6c3483 100%);
  box-shadow: 0 0 14px rgba(191, 85, 236, 0.6);
  border-color: #ffffff;
}
.arsenal-btn-synth:disabled {
  background: #1e1e24;
  border-color: #383842;
  color: #6c6c78;
  cursor: not-allowed;
  box-shadow: none;
}
.arsenal-section-header {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  color: #bf55ec;
  margin-top: 10px;
  margin-bottom: 2px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

/* ==========================================================================
   §35. CENTRO CLAN, DIPLOMAZIA & CASSA TECNOLOGICA CBS (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-clan-window), Nav Bar con Status Pips,
   DarkOrbit Bevel & Flash Buttons, CBS Skill Tree e Gestione Reclutamento.
   ========================================================================== */

#clan-modal,
.do-clan-window {
  width: 980px;
  min-width: 780px;
  min-height: 480px;
  max-width: 1440px;
  max-height: 900px;
  height: 640px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 12px 48px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  backdrop-filter: blur(8px);
  font-family: system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  z-index: 100;
}

.clan-modal-header,
.do-clan-window .clan-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 42px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.clan-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.clan-header-grip,
.do-clan-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.clan-header-grip:hover,
.do-clan-header-grip:hover {
  opacity: 1;
}

.clan-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  image-rendering: auto;
}

.clan-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #000;
}

.clan-header-tag {
  background: #12171c;
  border: 1px solid #38404a;
  color: #ffd700;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
}

.clan-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.clan-ctrl-btn {
  background: transparent;
  border: none;
  cursor: pointer;
}

.clan-modal-close {
  background: none;
  border: none;
  color: #94a3b8;
  font-size: 18px;
  cursor: pointer;
  padding: 4px 8px;
  line-height: 1;
  transition: color 0.15s;
}
.clan-modal-close:hover {
  color: #ff4444;
}

.clan-nav-bar,
.do-nav-bar {
  display: flex;
  background: #0c1014;
  border-bottom: 1px solid #222930;
  padding: 6px 12px;
  gap: 6px;
  flex-shrink: 0;
}

.clan-nav-tabs {
  display: flex;
  gap: 6px;
  width: 100%;
}

.clan-nav-tab {
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 4px;
  color: #bfbfbf;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 6px 14px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.15s;
}
.clan-nav-tab:hover {
  background: #222222;
  color: #ffffff;
  border-color: #ffd700;
}
.clan-nav-tab.active {
  background: #101010;
  border-top: 2px solid #ffd700;
  border-color: #ffd700 #38404a #38404a #38404a;
  color: #ffd700;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.2);
}

.clan-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #090c0f;
}
.clan-modal-body::-webkit-scrollbar {
  width: 6px;
}
.clan-modal-body::-webkit-scrollbar-thumb {
  background: #26313b;
  border-radius: 3px;
}

/* --- DarkOrbit Bevel & Flash Buttons --- */
.do-flash-btn-green-long {
  width: 230px;
  height: 33px;
  background-color: transparent;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  border: none;
  outline: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
  padding: 0 12px;
}
.do-flash-btn-green-long:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
}
.do-flash-btn-green-long:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}
.do-flash-btn-green-long:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.65);
  box-shadow: none;
}

.do-btn-bevel {
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  padding: 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.15s;
  box-sizing: border-box;
}

.do-btn-bevel-green,
.clan-btn-action {
  background: linear-gradient(180deg, #1b3d22 0%, #102415 100%);
  border: 1px solid #286b36;
  color: #55ff88;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  padding: 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.15s;
}
.do-btn-bevel-green:hover:not(:disabled),
.clan-btn-action:hover:not(:disabled) {
  background: linear-gradient(180deg, #24522e 0%, #16361e 100%);
  border-color: #44ee77;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(68, 238, 119, 0.3);
}

.do-btn-bevel-red,
.clan-btn-danger {
  background: linear-gradient(180deg, #2a1010 0%, #1a0808 100%);
  border: 1px solid #552222;
  color: #ff7777;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  padding: 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.15s;
}
.do-btn-bevel-red:hover:not(:disabled),
.clan-btn-danger:hover:not(:disabled) {
  background: #3a1515;
  border-color: #ff4444;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 68, 68, 0.3);
}

.do-btn-bevel-amber,
.clan-btn-warn {
  background: linear-gradient(180deg, #3d3410 0%, #241e06 100%);
  border: 1px solid #8c731e;
  color: #ffd700;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  padding: 4px 10px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: 0.15s;
}
.do-btn-bevel-amber:hover:not(:disabled),
.clan-btn-warn:hover:not(:disabled) {
  background: linear-gradient(180deg, #524616 0%, #362e0a 100%);
  border-color: #ffd700;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
}

.do-btn-bevel-cyan {
  background: linear-gradient(180deg, #0e2a38 0%, #081720 100%);
  border: 1px solid #176087;
  color: #00e5ff;
}
.do-btn-bevel-cyan:hover:not(:disabled) {
  background: linear-gradient(180deg, #163f54 0%, #0c2330 100%);
  border-color: #00e5ff;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(0, 229, 255, 0.35);
}

.do-btn-bevel-dark {
  background: #171717;
  border: 1px solid #38404a;
  color: #bfbfbf;
}
.do-btn-bevel-dark:hover:not(:disabled) {
  background: #242424;
  border-color: #ffd700;
  color: #ffffff;
}

.clan-panel-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 6px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.clan-panel-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #26313b;
  padding-bottom: 6px;
}

.clan-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.clan-table th {
  background: #0d1217;
  color: #94a3b8;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid #26313b;
  letter-spacing: 0.5px;
}
.clan-table td {
  padding: 9px 12px;
  border-bottom: 1px solid #1c242c;
  color: #ffffff;
  line-height: 1.45;
}
.clan-table tr:hover td {
  background: #181d22;
}

.diplo-badge {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.diplo-badge-ally {
  background: rgba(0, 255, 136, 0.15);
  border: 1px solid #00ff88;
  color: #00ff88;
}
.diplo-badge-nap {
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid #ffd700;
  color: #ffd700;
}
.diplo-badge-war {
  background: rgba(255, 68, 68, 0.2);
  border: 1px solid #ff4444;
  color: #ff6666;
}

.clan-form-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.clan-form-row label {
  font-size: 11px;
  color: #c4d0dc;
  font-weight: bold;
}
.clan-form-row input, .clan-form-row textarea, .clan-form-row select {
  background: #07090c;
  border: 1px solid #26313b;
  border-radius: 4px;
  color: #fff;
  padding: 6px 10px;
  font-family: inherit;
  font-size: 12px;
  outline: none;
}
.clan-form-row input:focus, .clan-form-row textarea:focus, .clan-form-row select:focus {
  border-color: #ffd700;
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.25);
}

/* ==========================================================================
   §36. P.E.T. 10 & PROTOCOLLI AI (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-pet-window, .do-pet-protocols-window),
   Header Metallico con Grip e Icona, Barre Flash (HP/Shield/Fuel/XP),
   Pulsante d'Azione Flash 1:1 (#btn-pet-main-action), Griglia Moduli e Shop 3 Slot.
   ========================================================================== */

#pet-window,
.do-pet-window {
  width: 340px;
  min-width: 330px;
  min-height: 200px;
  max-width: 420px;
  max-height: 840px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: inherit;
  z-index: 105;
}

.do-pet-window.kr-win-minimized {
  height: 38px !important;
  min-height: 38px !important;
  overflow: hidden !important;
}

.do-pet-window.kr-win-minimized .pet-body,
.do-pet-window.kr-win-minimized .kr-win-body {
  display: none !important;
}

.pet-header,
.do-pet-header {
  height: 38px;
  box-sizing: border-box;
  padding: 0 10px;
  background: linear-gradient(180deg, #181d22 0%, #0d1014 60%, #080a0c 100%);
  border-bottom: 1px solid #28323c;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  cursor: grab;
}

.pet-header-grip,
.do-pet-header-grip {
  width: 36px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.pet-header-grip:hover,
.do-pet-header-grip:hover {
  opacity: 1;
}

.pet-header-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  image-rendering: auto;
}

.pet-header-badge {
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: bold;
  color: #ffd700;
  margin-left: 6px;
}

.pet-body {
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #141a20;
  overflow-y: auto;
}

.pet-profile-row {
  display: flex;
  gap: 10px;
  align-items: center;
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 10px;
}

.pet-avatar-wrap {
  width: 48px;
  height: 48px;
  background: radial-gradient(circle at center, #171720 0%, #0c0c10 100%);
  border: 1px solid #26313b;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pet-avatar-wrap img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 0 6px rgba(0, 229, 255, 0.4));
}

.pet-info-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

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

.pet-name-text {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
}
.pet-name-text:hover {
  color: #ffd700;
  text-decoration: underline;
}

.pet-bars-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: #0e1216;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 10px;
}

.pet-bar-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.pet-bar-header {
  display: flex;
  justify-content: space-between;
  font-size: 10.5px;
  color: #94a3b8;
  font-weight: 600;
}

.pet-bar-outer {
  width: 100%;
  height: 8px;
  background: #07090c;
  border: 1px solid #222a32;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: inset 0 1px 3px rgba(0,0,0,0.8);
}

.pet-bar-hp {
  height: 100%;
  background: linear-gradient(90deg, #00ff88, #00bb66);
  width: 100%;
  transition: width 0.2s ease;
}

.pet-bar-shield {
  height: 100%;
  background: linear-gradient(90deg, #00d0ff, #0077ff);
  width: 100%;
  transition: width 0.2s ease;
}

.pet-bar-fuel {
  height: 100%;
  background: linear-gradient(90deg, #ffd700, #ff8800);
  width: 100%;
  transition: width 0.2s ease;
}

.pet-bar-xp {
  height: 100%;
  background: linear-gradient(90deg, #00e5ff, #0099bb);
  width: 0%;
  transition: width 0.2s ease;
}

.pet-fuel-buy-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 2px;
}

.pet-quick-buy-btn {
  background: linear-gradient(180deg, #4d3e1b 0%, #2a200e 100%);
  border: 1px solid #ffd700;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 10px;
  padding: 2px 8px;
  border-radius: 3px;
  cursor: pointer;
  transition: filter 0.15s, box-shadow 0.15s;
}
.pet-quick-buy-btn:hover {
  filter: brightness(1.25);
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

/* ==========================================================================
   AUTHENTIC DARKORBIT FLASH BUTTON 1:1 (#btn-pet-main-action)
   ========================================================================== */
.btn-flash-pet-action,
.pet-main-toggle-btn {
  width: 100%;
  height: 33px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 3px;
  cursor: pointer;
  transition: filter 0.15s ease, transform 0.1s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  text-shadow: 0 1px 2px #000;
  border: none;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;
}

.pet-main-toggle-btn.btn-activate {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') !important;
  color: #ffffff !important;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
}
.pet-main-toggle-btn.btn-activate:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
  filter: brightness(1.1);
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.6);
}
.pet-main-toggle-btn.btn-activate:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
  transform: translateY(1px);
}

.pet-main-toggle-btn.btn-deactivate {
  background: linear-gradient(180deg, #2b3642 0%, #171f26 100%) !important;
  border: 1px solid #3d4d5e !important;
  color: #d0d8e0 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 2px 6px rgba(0,0,0,0.5);
}
.pet-main-toggle-btn.btn-deactivate:hover {
  background: linear-gradient(180deg, #374656 0%, #1e2832 100%) !important;
  border-color: #556a80 !important;
  color: #ffffff !important;
}
.pet-main-toggle-btn.btn-deactivate:active {
  transform: translateY(1px);
}

.pet-main-toggle-btn.btn-repair {
  background: linear-gradient(180deg, #5c1818 0%, #2e0b0b 100%) !important;
  border: 1px solid #e74c3c !important;
  color: #ffffff !important;
  box-shadow: 0 0 14px rgba(231, 76, 60, 0.5);
  animation: pulseRepair 1s infinite alternate;
}
.pet-main-toggle-btn.btn-repair:hover {
  filter: brightness(1.2);
}

.pet-gears-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pet-section-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  color: #8fa0b0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pet-gears-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.pet-gear-card {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  transition: all 0.15s;
  text-align: center;
}
.pet-gear-card:hover {
  border-color: #ffd700;
  background: #161b21;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.2);
}
.pet-gear-card.active {
  border-color: #ffd700;
  background: #181d22;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.3);
}
.pet-gear-card img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}
.pet-gear-card span {
  font-size: 9px;
  font-weight: bold;
  color: #c4d0dc;
}

.pet-kamikaze-btn {
  background: linear-gradient(180deg, #ff3300, #991100);
  border: 1px solid #ff5533;
  color: #fff;
  font-size: 10px;
  font-weight: bold;
  padding: 5px 10px;
  border-radius: 3px;
  cursor: pointer;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-top: 4px;
  animation: pulseRepair 0.8s infinite alternate;
}

.pet-trade-btn {
  width: 100%;
  margin-top: 6px;
  padding: 7px;
  background: linear-gradient(180deg, #ff9900, #cc6600);
  border: 1px solid #ffd700;
  border-radius: 4px;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  cursor: pointer;
  text-shadow: 0 1px 2px rgba(0,0,0,0.8);
  box-shadow: 0 0 10px rgba(255,153,0,0.4);
}

/* Protocols Section */
.pet-protocols-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px solid #26313b;
}
.pet-protocols-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.pet-protocol-slot {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 4px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  min-height: 58px;
  cursor: pointer;
  position: relative;
  transition: all 0.15s ease;
}
.pet-protocol-slot:hover {
  border-color: #ffd700;
  background: #161b21;
}
.pet-protocol-slot.locked {
  opacity: 0.55;
  cursor: not-allowed;
  border-style: dashed;
  border-color: #38404a;
}
.pet-protocol-slot.equipped {
  border-color: #ffd700;
  background: #181d22;
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.2);
}
.pet-protocol-name {
  font-size: 10.5px;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
  line-height: 1.2;
}
.pet-protocol-badge {
  font-size: 9.5px;
  font-weight: 700;
  color: #ffd700;
  background: #101010;
  border: 1px solid #38404a;
  padding: 1px 5px;
  border-radius: 2px;
}

/* ==========================================================================
   PROTOCOLS SUB-WINDOW (.do-pet-protocols-window)
   ========================================================================== */
#pet-protocols-modal,
.do-pet-protocols-window {
  width: 620px;
  min-width: 480px;
  min-height: 380px;
  max-width: 800px;
  max-height: 80vh;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 10px 40px rgba(0, 0, 0, 0.9);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: inherit;
  z-index: 110;
}

.do-pet-protocols-window.kr-win-minimized {
  height: 38px !important;
  min-height: 38px !important;
  overflow: hidden !important;
}
.do-pet-protocols-window.kr-win-minimized .pet-proto-shop-body {
  display: none !important;
}

.pet-proto-shop-header,
.do-pet-protocols-header {
  height: 38px;
  box-sizing: border-box;
  padding: 0 10px;
  background: linear-gradient(180deg, #181d22 0%, #0d1014 60%, #080a0c 100%);
  border-bottom: 1px solid #28323c;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  cursor: grab;
}

.pet-proto-drag-grip,
.do-pet-protocols-header-grip {
  width: 36px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.pet-proto-drag-grip:hover,
.do-pet-protocols-header-grip:hover {
  opacity: 1;
}

.pet-proto-header-icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.pet-proto-shop-body {
  padding: 12px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #141a20;
}

.pet-proto-family-group {
  background: #12171c;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px 10px;
}

.pet-proto-family-header {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffd700;
  margin-bottom: 6px;
  display: flex;
  justify-content: space-between;
}

.pet-proto-tier-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-bottom: 1px solid #1a222a;
}
.pet-proto-tier-row:last-child {
  border-bottom: none;
}
.pet-proto-tier-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.pet-proto-tier-title {
  font-size: 10.5px;
  font-weight: bold;
  color: #ffffff;
}
.pet-proto-tier-desc {
  font-size: 9px;
  color: #8fa0b0;
}
.pet-proto-tier-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.pet-proto-buy-btn {
  background: linear-gradient(180deg, #4d3e1b 0%, #2a200e 100%);
  border: 1px solid #ffd700;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 3px;
  cursor: pointer;
  transition: filter 0.15s, box-shadow 0.15s;
  text-transform: uppercase;
}
.pet-proto-buy-btn:hover {
  filter: brightness(1.25);
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.4);
}

.pet-proto-unequip-btn {
  background: linear-gradient(180deg, #4d1b1b 0%, #2a0e0e 100%);
  border: 1px solid #e74c3c;
  color: #fff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  font-size: 11px;
  padding: 4px 10px;
  border-radius: 3px;
  cursor: pointer;
  text-transform: uppercase;
}
.pet-proto-unequip-btn:hover {
  background: linear-gradient(180deg, #6b2424 0%, #3d1212 100%);
  box-shadow: 0 0 8px rgba(231, 76, 60, 0.4);
}

/* ==========================================================================
   §37. SQUADRA / FLOTTA TATTICA & INVITO DI GRUPPO (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-group-window), Header Metallico con Grip,
   Roster 5 Membri con Track Segmentati DarkOrbit (HP/Shield), Quick Actions e Bevel Dialog.
   ========================================================================== */

#group-window,
.do-group-window {
  width: 280px;
  min-width: 270px;
  max-width: 380px;
  height: 440px;
  min-height: 180px;
  max-height: 600px;
  background: #141a20;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: 'Eurostile', Arial, sans-serif;
  z-index: 120;
}

.do-group-window.kr-win-minimized {
  height: 38px !important;
  min-height: 38px !important;
  overflow: hidden !important;
}

.do-group-window.kr-win-minimized .group-body,
.do-group-window.kr-win-minimized .kr-win-body {
  display: none !important;
}

.do-group-window .group-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 10px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 36px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.do-group-window .group-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.do-group-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-group-header-grip:hover {
  opacity: 1;
}

.do-group-window .group-header-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.do-group-window .group-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.do-group-window .group-member-count-badge {
  font-size: 10px;
  color: #00d0ff;
  font-weight: bold;
}

.do-group-window .group-body {
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #090c0f;
  flex: 1;
  overflow: hidden;
}

.group-status-empty {
  font-size: 10.5px;
  color: #88aacc;
  text-align: center;
  padding: 16px 8px;
  background: rgba(18, 23, 28, 0.6);
  border: 1px dashed #26313b;
  border-radius: 4px;
}
.group-empty-hint {
  font-size: 9px;
  color: #557799;
  margin-top: 4px;
}

.group-members-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  overflow-y: auto;
  padding-right: 2px;
}
.group-members-list::-webkit-scrollbar {
  width: 4px;
}
.group-members-list::-webkit-scrollbar-thumb {
  background: #26313b;
  border-radius: 2px;
}

.group-member-card {
  background: linear-gradient(180deg, #141a20 0%, #0d1217 100%);
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  transition: border-color 0.15s, box-shadow 0.15s;
}
.group-member-card:hover {
  border-color: #00d0ff;
  box-shadow: 0 0 6px rgba(0, 208, 255, 0.2);
}
.group-member-card.local-member {
  border-color: #ffd700;
}

.group-member-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}
.group-member-name-wrap {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow: hidden;
}
.group-leader-crown {
  color: #ffd700;
  font-weight: 900;
  font-size: 10px;
}
.group-member-name {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.group-member-map {
  font-size: 9.5px;
  color: #00d0ff;
  background: rgba(0, 208, 255, 0.1);
  border: 1px solid #26313b;
  padding: 1px 5px;
  border-radius: 2px;
  font-weight: bold;
}

/* --- DarkOrbit Segmented Tracks --- */
.group-gauge-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.group-gauge-labels {
  display: flex;
  justify-content: space-between;
  font-size: 8.5px;
  color: #99aabb;
  font-family: 'Eurostile', Arial, sans-serif;
}
.gauge-label.hp {
  color: #00ff88;
}
.gauge-label.shd {
  color: #00d0ff;
}

.group-track-frame {
  width: 100%;
  height: 6px;
  background: #000 url('/assets/ui/darkorbit_ui/bars/empty_bar.png') repeat-x center;
  border-radius: 1px;
  overflow: hidden;
  border: 1px solid #1a2228;
  position: relative;
}
.group-track-fill.hp-fill {
  height: 100%;
  background: url('/assets/ui/darkorbit_ui/bars/hp_bar.png') repeat-x left center;
  background-color: #00ff88;
  transition: width 0.2s ease-out;
}
.group-track-fill.shd-fill,
.group-track-fill.shield-fill {
  height: 100%;
  background: url('/assets/ui/darkorbit_ui/bars/shield_bar.png') repeat-x left center;
  background-color: #00d0ff;
  transition: width 0.2s ease-out;
}
.group-track-frame.track-critical .group-track-fill.hp-fill,
.group-track-fill.hp-fill.track-critical {
  background-color: #ff3344;
  animation: pulseCritical 0.8s infinite alternate;
}
@keyframes pulseCritical {
  from { opacity: 0.7; }
  to { opacity: 1.0; }
}

/* --- Quick Actions Roster --- */
.group-member-actions {
  display: flex;
  gap: 4px;
  margin-top: 3px;
}
.group-member-btn {
  background: linear-gradient(180deg, #1f272e 0%, #12171c 100%);
  border: 1px solid #384858;
  border-radius: 3px;
  color: #c4d0dc;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 8.5px;
  font-weight: 900;
  padding: 2px 6px;
  cursor: pointer;
  transition: all 0.15s;
}
.group-member-btn:hover {
  background: #2a3540;
  color: #ffd700;
  border-color: #ffd700;
}
.group-member-btn.following {
  color: #00ff88;
  border-color: #00ff88;
}
.group-member-btn.kick {
  color: #ff6666;
  border-color: #662222;
}
.group-member-btn.kick:hover {
  background: #331111;
  color: #ff9999;
  border-color: #ff4444;
}

/* --- Group Window Bottom Controls --- */
.group-controls {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid #26313b;
  padding-top: 6px;
  flex-shrink: 0;
}
.group-invite-row {
  display: flex;
  gap: 4px;
}
.group-invite-input {
  flex: 1;
  background: #07090c;
  border: 1px solid #26313b;
  border-radius: 3px;
  color: #fff;
  padding: 4px 6px;
  font-size: 10px;
  font-family: inherit;
  outline: none;
}
.group-invite-input:focus {
  border-color: #ffd700;
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.25);
}

.group-bottom-btns {
  display: flex;
  gap: 4px;
}

.do-flash-btn-compact {
  flex: 1;
  padding: 5px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 900;
  cursor: pointer;
  text-align: center;
  border-radius: 3px;
  transition: all 0.15s;
  background: linear-gradient(180deg, #1f272e 0%, #12171c 100%);
  border: 1px solid #384858;
  color: #c4d0dc;
}
.do-flash-btn-compact:hover {
  background: #2a3540;
  border-color: #00d0ff;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(0, 208, 255, 0.25);
}
.do-flash-btn-compact.btn-invite {
  background: linear-gradient(180deg, #1b3d22 0%, #102415 100%);
  border-color: #286b36;
  color: #55ff88;
}
.do-flash-btn-compact.btn-invite:hover {
  border-color: #44ee77;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(68, 238, 119, 0.3);
}
.do-flash-btn-compact.btn-ping {
  border-color: #1a5588;
  color: #00d0ff;
}
.do-flash-btn-compact.btn-expedition {
  background: linear-gradient(180deg, #4d2600 0%, #2b1500 100%);
  border-color: #b35900;
  color: #ffaa44;
}
.do-flash-btn-compact.btn-expedition:hover {
  border-color: #ff9900;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 153, 0, 0.3);
}
.do-flash-btn-compact.btn-leave {
  background: linear-gradient(180deg, #3d1b1b 0%, #241010 100%);
  border-color: #6b2828;
  color: #ff7777;
}
.do-flash-btn-compact.btn-leave:hover {
  border-color: #ff4444;
  color: #ffaaaa;
  box-shadow: 0 0 8px rgba(255, 68, 68, 0.3);
}

/* --- DarkOrbit Bevel Dialog: Group Invite Popup --- */
.group-invite-dialog {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 250;
  display: flex;
}
.group-invite-dialog .do-confirm-frame {
  width: 360px;
  background: #11171d;
  border: 2px solid #3a4b5d;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 0 40px rgba(0, 0, 0, 0.9);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.group-invite-dialog .do-confirm-header {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #23313e;
  padding-bottom: 8px;
}
.group-invite-dialog .do-confirm-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.6px;
}
.group-invite-dialog .do-confirm-body {
  font-size: 11px;
  color: #c4d0dc;
  line-height: 1.5;
  background: #090d11;
  border: 1px solid #23313e;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.group-invite-dialog .invite-sender-highlight {
  color: #ffd700;
  font-weight: bold;
}
.group-invite-dialog .invite-timeout-bar {
  width: 100%;
  height: 3px;
  background: #1a2228;
  border-radius: 2px;
  overflow: hidden;
}
.group-invite-dialog .invite-progress-fill {
  width: 100%;
  height: 100%;
  background: #00d0ff;
  transition: width 20s linear;
}
.group-invite-dialog .do-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.group-invite-dialog .btn-accept {
  width: 120px;
  height: 28px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_normal.png') no-repeat center;
  background-size: contain;
  border: none;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  cursor: pointer;
}
.group-invite-dialog .btn-accept:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_over.png');
}
.group-invite-dialog .btn-accept:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_clicked.png');
}
.group-invite-dialog .btn-decline {
  width: 100px;
  height: 28px;
  background: linear-gradient(180deg, #3d1b1b 0%, #241010 100%);
  border: 1px solid #6b2828;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ff7777;
  cursor: pointer;
}
.group-invite-dialog .btn-decline:hover {
  background: #4a2020;
  border-color: #ff4444;
  color: #ffffff;
}


/* ==========================================================================
   §38. SKYLAB INDUSTRIAL COMPLEX (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-skylab-window), Nav Bar con Status Pips,
   Station Blueprint 772x407px, Authentic modules_large Inspector & Flash Buttons.
   ========================================================================== */

#skylab-modal,
.do-skylab-window {
  width: 820px;
  min-width: 800px;
  min-height: 520px;
  max-width: 880px;
  max-height: 720px;
  height: 600px;
  background: #1c2329;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 12px 48px rgba(0, 0, 0, 0.85);
  display: none;
  flex-direction: column;
  overflow: hidden;
  user-select: none;
  font-family: inherit;
  z-index: 100;
}

.do-skylab-window.kr-win-minimized {
  height: 48px !important;
  min-height: 48px !important;
  overflow: hidden !important;
}

.do-skylab-window.kr-win-minimized .skylab-nav-bar,
.do-skylab-window.kr-win-minimized .skylab-ores-bar,
.do-skylab-window.kr-win-minimized .skylab-modal-body,
.do-skylab-window.kr-win-minimized #skylab-inspector-modal {
  display: none !important;
}

.skylab-modal-header,
.do-skylab-window .skylab-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 14px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 48px;
  flex-shrink: 0;
  box-sizing: border-box;
}

.skylab-header-left {
  display: flex;
  align-items: center;
  gap: 10px;
}

.skylab-header-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12.5px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-shadow: 1px 1px 0 #000, 2px 2px 4px rgba(0, 0, 0, 0.8);
}

.skylab-header-grip,
.do-skylab-header-grip {
  width: 42px;
  height: 14px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.skylab-header-grip:hover,
.do-skylab-header-grip:hover {
  opacity: 1;
}

.skylab-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  image-rendering: auto;
}

.skylab-header-badge {
  font-size: 11px;
  color: #ffd700;
  background: rgba(255, 215, 0, 0.12);
  border: 1px solid #ffd700;
  padding: 2px 8px;
  border-radius: 3px;
  font-weight: bold;
}

.skylab-header-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

.skylab-modal-close {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid #005588;
  color: #00b4ff;
  font-size: 12px;
  font-weight: bold;
  padding: 4px 10px;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s;
}

.skylab-modal-close:hover {
  background: #ff3333;
  border-color: #ff3333;
  color: #fff;
  box-shadow: 0 0 10px rgba(255, 50, 50, 0.6);
}

/* Nav Bar with Status Pips */
.skylab-nav-bar.do-nav-bar {
  display: flex;
  align-items: center;
  background: #141a20;
  border-bottom: 1px solid #26313b;
  padding: 8px 12px;
  flex-shrink: 0;
}

.skylab-nav-tabs {
  display: flex;
  gap: 6px;
  flex: 1;
}

.skylab-nav-tab {
  flex: 1;
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 4px;
  color: #bfbfbf;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 7px 14px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.skylab-nav-tab:hover {
  background: #222222;
  border-color: #556270;
  color: #ffffff;
}

.skylab-nav-tab.active {
  background: #101010;
  border-color: #ffd700 #38404a #38404a #38404a;
  border-top-width: 2px;
  color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
}

/* Ores Storage Bar */
.skylab-ores-bar {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
  background: #0d1217;
  padding: 6px 14px;
  border-bottom: 1px solid #222c36;
  flex-shrink: 0;
}

.skylab-ore-card {
  background: rgba(14, 20, 28, 0.8);
  border: 1px solid #263340;
  border-radius: 4px;
  padding: 4px 6px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.skylab-ore-top {
  display: flex;
  align-items: center;
  gap: 4px;
}

.skylab-ore-icon {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

.skylab-ore-name {
  font-size: 10.5px;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.skylab-ore-counts {
  font-size: 10px;
  font-weight: 600;
  font-family: monospace;
  color: #ffd700;
  display: flex;
  justify-content: space-between;
}

.skylab-ore-progress-bg {
  width: 100%;
  height: 3px;
  background: rgba(255, 255, 255, 0.1);
  border-radius: 2px;
  overflow: hidden;
}

.skylab-ore-progress-fill {
  height: 100%;
  transition: width 0.3s ease;
}

/* Modal Body */
.skylab-modal-body,
.do-skylab-window .skylab-modal-body {
  position: relative;
  flex: 1;
  overflow-y: auto;
  background: #141a20;
}

.skylab-tab-content {
  display: none;
  height: 100%;
}

.skylab-tab-content.active {
  display: block;
}

/* Authentic Orbital Station Canvas (772x407px) */
.skylab-station-wrapper {
  position: relative;
  width: 772px;
  height: 407px;
  margin: 12px auto;
  background: url('/assets/skylab/background.jpg') no-repeat center;
  border: 1px solid #263545;
  border-radius: 4px;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.9), inset 0 0 20px rgba(0, 20, 50, 0.6);
  overflow: hidden;
  user-select: none;
}

.skylab-layer {
  position: absolute;
  pointer-events: none;
  z-index: 2;
  transition: opacity 0.3s ease, filter 0.3s ease;
}
.skylab-layer.off {
  opacity: 0.12;
  filter: grayscale(80%) brightness(40%);
}
.skylab-layer.highlight {
  filter: drop-shadow(0 0 8px #00e5ff) brightness(1.2);
  opacity: 1 !important;
}

#skylab-layer-PROMETIUM_COLLECTOR { left: 207px; top: 141px; width: 112px; height: 66px; background: url('/assets/skylab/prometium_collector_layer.gif') no-repeat; }
#skylab-layer-ENDURIUM_COLLECTOR  { left: 126px; top: 192px; width: 73px; height: 87px; background: url('/assets/skylab/endurium_collector_layer.gif') no-repeat; }
#skylab-layer-TERBIUM_COLLECTOR   { left: 54px; top: 244px; width: 73px; height: 78px; background: url('/assets/skylab/terbium_collector_layer.gif') no-repeat; }
#skylab-layer-PROMETID_REFINERY   { left: 389px; top: 181px; width: 79px; height: 62px; background: url('/assets/skylab/prometid_refinery_layer.gif') no-repeat; }
#skylab-layer-DURANIUM_REFINERY   { left: 452px; top: 195px; width: 82px; height: 64px; background: url('/assets/skylab/duranium_refinery_layer.gif') no-repeat; }
#skylab-layer-PROMERIUM_REFINERY  { left: 387px; top: 258px; width: 75px; height: 56px; background: url('/assets/skylab/promerium_refinery_layer.gif') no-repeat; }
#skylab-layer-SEPROM_REFINERY     { left: 387px; top: 313px; width: 74px; height: 57px; background: url('/assets/skylab/seprom_refinery_layer.gif') no-repeat; }
#skylab-layer-XENOMIT_MODULE      { left: 450px; top: 267px; width: 64px; height: 62px; background: url('/assets/skylab/xeno_module_layer.gif') no-repeat; }

.skylab-uplink {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  transition: opacity 0.3s ease;
}
.skylab-uplink.dimmed {
  opacity: 0.18;
}
#skylab-uplink-prometium { left: 223px; top: 81px; width: 33px; height: 70px; background: url('/assets/skylab/uplink_prometiumCollector.png') no-repeat; }
#skylab-uplink-endurium  { left: 161px; top: 132px; width: 20px; height: 58px; background: url('/assets/skylab/uplink_enduriumCollector.png') no-repeat; }
#skylab-uplink-terbium   { left: 66px; top: 215px; width: 4px; height: 30px; background: url('/assets/skylab/uplink_terbiumCollector.png') no-repeat; }
#skylab-uplink-prometid  { left: 458px; top: 90px; width: 63px; height: 113px; background: url('/assets/skylab/uplink_prometidRefinery.png') no-repeat; }
#skylab-uplink-duranium  { left: 506px; top: 137px; width: 86px; height: 76px; background: url('/assets/skylab/uplink_duraniumRefinery.png') no-repeat; }
#skylab-uplink-promerium { left: 458px; top: 208px; width: 138px; height: 70px; background: url('/assets/skylab/uplink_promeriumRefinery.png') no-repeat; }
#skylab-uplink-seprom    { left: 475px; top: 355px; width: 120px; height: 46px; background: url('/assets/skylab/uplink_sepromRefinery.png') no-repeat; }
#skylab-uplink-xeno      { left: 526px; top: 301px; width: 116px; height: 23px; background: url('/assets/skylab/uplink_xenoModule.png') no-repeat; }

.skylab-station-node {
  position: absolute;
  z-index: 5;
  width: 165px;
  height: 38px;
  background: rgba(7, 15, 27, 0.88);
  border: 1px solid #1a456c;
  border-radius: 3px;
  padding: 3px 6px;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.85);
  cursor: pointer;
  transition: all 0.15s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.skylab-station-node:hover {
  border-color: #00d0ff;
  background: rgba(12, 28, 52, 0.95);
  box-shadow: 0 0 12px rgba(0, 208, 255, 0.5);
  transform: translateY(-2px);
  z-index: 10;
}
.skylab-station-node.upgrading {
  border-color: #ffd700;
  box-shadow: 0 0 12px rgba(255, 215, 0, 0.45);
}
.skylab-station-node.inactive {
  opacity: 0.65;
  border-color: #3a4a58;
}

#skylab-node-PROMETIUM_COLLECTOR { left: 65px; top: 13px; }
#skylab-node-SOLAR_MODULE        { left: 262px; top: 12px; }
#skylab-node-PROMETID_REFINERY   { left: 505px; top: 15px; }
#skylab-node-ENDURIUM_COLLECTOR  { left: 7px; top: 61px; }
#skylab-node-DURANIUM_REFINERY   { left: 576px; top: 57px; }
#skylab-node-TERBIUM_COLLECTOR   { left: 7px; top: 124px; }
#skylab-node-PROMERIUM_REFINERY  { left: 580px; top: 128px; }
#skylab-node-XENOMIT_MODULE      { left: 586px; top: 198px; }
#skylab-node-TRANSPORT_MODULE    { left: 3px; top: 274px; }
#skylab-node-STORAGE_MODULE      { left: 96px; top: 314px; }
#skylab-node-BASIC_MODULE        { left: 385px; top: 315px; }
#skylab-node-SEPROM_REFINERY     { left: 580px; top: 315px; }

.skylab-node-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  font-weight: 600;
}
.skylab-node-name {
  color: #f5ffff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.3px;
}
.skylab-node-level {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 10.5px;
  color: #00d0ff;
  font-weight: 900;
}
.skylab-node-level.gold {
  color: #ffd700;
}
.skylab-node-lvl-icon {
  width: 11px;
  height: 11px;
  object-fit: contain;
}
.skylab-node-status-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 9.5px;
  color: #94a3b8;
}
.skylab-node-status-tag {
  display: flex;
  align-items: center;
  gap: 3px;
  font-weight: bold;
}
.skylab-node-status-tag.ok { color: #00ff88; }
.skylab-node-status-tag.off { color: #8899aa; }
.skylab-node-status-tag.building { color: #ffd700; }
.skylab-node-status-tag.no_energy { color: #ff4455; }
.skylab-node-cog {
  width: 11px;
  height: 11px;
  object-fit: contain;
}

/* Authentic DarkOrbit Inspector Dialog */
.skylab-inspector-modal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 359px;
  background: transparent;
  border: none;
  box-shadow: 0 0 35px rgba(0, 0, 0, 0.95);
  z-index: 150;
  display: flex;
  flex-direction: column;
  user-select: none;
  font-family: inherit;
}
.skylab-inspector-header {
  width: 359px;
  height: 39px;
  background: url('/assets/skylab/modules_large/popup_header.png') no-repeat center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.skylab-inspector-title {
  color: #ffcc00;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}
.skylab-inspector-close {
  position: absolute;
  top: 7px;
  right: 8px;
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
}
.skylab-inspector-close:hover {
  background-position: center 0;
}
.skylab-inspector-close:active {
  background-position: center -48px;
}
.skylab-inspector-middle {
  width: 359px;
  background: url('/assets/skylab/modules_large/popup_middle.png') repeat-y center top;
  padding: 8px 0 10px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.skylab-inspector-tabs {
  width: 326px;
  display: flex;
  gap: 4px;
  margin-bottom: 6px;
}
.skylab-inspector-tab {
  width: 76px;
  height: 16px;
  background: url('/assets/skylab/modules_large/subtab_sprite_76x16px.png') no-repeat 0 0;
  border: none;
  color: #bfbfbf;
  font-size: 10px;
  font-weight: bold;
  cursor: pointer;
  text-align: center;
  line-height: 16px;
  padding: 0;
}
.skylab-inspector-tab.tab-third {
  width: 120px;
  background-image: url('/assets/skylab/modules_large/subtab_sprite_120x16px.png');
}
.skylab-inspector-tab:hover {
  background-position: 0 -36px;
  color: #ffffff;
}
.skylab-inspector-tab.active {
  background-position: 0 -18px;
  color: #ffd700;
}
.skylab-inspector-content-box {
  width: 326px;
  min-height: 243px;
  background: url('/assets/skylab/modules_large/content_bg_326x243px.png') no-repeat center;
  background-size: cover;
  padding: 12px;
  box-sizing: border-box;
  color: #e2e2e2;
  font-size: 11px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.skylab-inspector-footer {
  width: 359px;
  height: 49px;
  background: url('/assets/skylab/modules_large/popup_footer.png') no-repeat center;
}

.skylab-display-frame {
  background: rgba(0, 15, 30, 0.7);
  border: 1px solid #005588;
  border-radius: 4px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.skylab-display-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
}

/* Flash Action Button (190x33px) */
.btn-skylab-action-green,
.do-flash-btn-green-long {
  width: 190px;
  height: 33px;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  image-rendering: auto;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: filter 0.15s ease;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}
.btn-skylab-action-green:hover:not(:disabled),
.do-flash-btn-green-long:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
}
.btn-skylab-action-green:active:not(:disabled),
.do-flash-btn-green-long:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}
.btn-skylab-action-green:disabled,
.do-flash-btn-green-long:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.8) opacity(0.6);
  box-shadow: none;
}

.skylab-btn-primary {
  background: linear-gradient(180deg, #0088cc, #004488);
  border: 1px solid #00d0ff;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s;
  text-transform: uppercase;
}
.skylab-btn-primary:hover {
  background: linear-gradient(180deg, #00aaff, #0066bb);
  box-shadow: 0 0 10px rgba(0, 208, 255, 0.6);
}

.skylab-btn-instant {
  background: linear-gradient(180deg, #ffaa00, #995500);
  border: 1px solid #ffd700;
  color: #fff;
  font-weight: bold;
  font-size: 11px;
  padding: 6px 12px;
  border-radius: 3px;
  cursor: pointer;
  transition: all 0.15s;
  text-transform: uppercase;
}
.skylab-btn-instant:hover {
  background: linear-gradient(180deg, #ffcc00, #bb6600);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.6);
}

/* Transport Panel (stile Hangar / Raffineria / Negozio) */
.skylab-transport-panel {
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #141a20;
  min-height: 407px;
  box-sizing: border-box;
  font-family: 'Arial Black', Arial, sans-serif;
}
.skylab-trans-dir-switch {
  display: flex;
  gap: 6px;
}
.skylab-trans-dir-btn {
  flex: 1;
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 4px;
  color: #bfbfbf;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 8px 14px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.skylab-trans-dir-btn:hover {
  background: #222222;
  border-color: #556270;
  color: #ffffff;
}
.skylab-trans-dir-btn.active {
  background: #101010;
  border-color: #ffd700 #38404a #38404a #38404a;
  border-top-width: 2px;
  color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.2);
}
.skylab-trans-cargo-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #13181e;
  border: 1px solid #232c35;
  border-radius: 4px;
  padding: 6px 12px;
  font-size: 10.5px;
  font-weight: 700;
  color: #bfbfbf;
}
.skylab-trans-cargo-free {
  color: #00ff88;
}
.skylab-trans-cargo-note {
  color: #ffd700;
}
.skylab-trans-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}
.skylab-trans-ore-box {
  background: #1c2329;
  border: 1px solid #2d3842;
  border-radius: 4px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.5);
}
.skylab-trans-ore-head {
  display: flex;
  align-items: center;
  gap: 6px;
}
.skylab-trans-ore-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.skylab-trans-ore-name {
  font-size: 11px;
  font-weight: 900;
  text-shadow: 0 1px 2px #000;
}
.skylab-trans-ore-counts {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  font-weight: 700;
  color: #8e9ba8;
}
.skylab-trans-ore-counts b {
  color: #ffffff;
}
.skylab-trans-input-row {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-top: 4px;
}
.skylab-trans-input {
  flex: 1;
  width: 60px;
  min-width: 0;
  background: #0d1115;
  border: 1px solid #2d3842;
  color: #ffffff;
  padding: 4px 6px;
  border-radius: 3px;
  font-size: 11px;
  font-family: 'Arial Black', Arial, sans-serif;
  outline: none;
}
.skylab-trans-input:focus {
  border-color: #ffd700;
}
.skylab-trans-max {
  background: linear-gradient(180deg, #2a323a 0%, #171c21 100%);
  border: 1px solid #4a5663;
  border-radius: 3px;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  font-weight: 900;
  padding: 4px 8px;
  cursor: pointer;
  transition: all 0.15s ease;
}
.skylab-trans-max:hover {
  border-color: #ffd700;
  color: #ffffff;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.3);
}
.skylab-trans-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #13181e;
  border: 1px solid #232c35;
  border-radius: 4px;
  padding: 10px 14px;
  margin-top: auto;
}
.skylab-trans-summary {
  font-size: 10.5px;
  font-weight: 700;
  color: #8e9ba8;
}
.skylab-trans-summary b {
  color: #ffffff;
}
.skylab-trans-summary b.skylab-trans-time {
  color: #ffd700;
}
.skylab-trans-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.skylab-trans-btn-instant {
  width: 190px;
  height: 33px;
  background: linear-gradient(180deg, #3a2a08 0%, #1c1404 100%);
  border: 1px solid #ffd700;
  border-radius: 3px;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  cursor: pointer;
  box-sizing: border-box;
  transition: all 0.15s ease;
}
.skylab-trans-btn-instant:hover:not(:disabled) {
  color: #ffffff;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
}
.skylab-trans-btn-instant:disabled {
  filter: grayscale(0.8) opacity(0.6);
  cursor: not-allowed;
}
.skylab-trans-btn-instant img {
  width: 14px;
  height: 14px;
}
.skylab-trans-flight {
  background: #1c2329;
  border: 1px solid #ffd700;
  border-radius: 4px;
  padding: 24px 20px;
  text-align: center;
  box-shadow: inset 0 0 20px rgba(0, 0, 0, 0.6), 0 0 14px rgba(255, 215, 0, 0.15);
}
.skylab-trans-flight-title {
  font-size: 14px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 1px;
}
.skylab-trans-flight-info {
  font-size: 11px;
  font-weight: 700;
  color: #8e9ba8;
  margin-top: 6px;
}
.skylab-trans-flight-info b {
  color: #ffffff;
}
.skylab-trans-flight-timer {
  font-size: 28px;
  font-weight: 900;
  color: #ffffff;
  margin: 16px 0;
}

/* ==========================================================================
   §39. BATTLE PASS STAGIONALE (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-battlepass-window), Header Metallico con Grip,
   Vetrina Tier 50 Flash 1:1, Tracciati Free & Premium, Flash Buttons Green & Amber.
   ========================================================================== */

#battlepass-window,
.do-battlepass-window {
  width: 452px;
  min-width: 452px;
  max-width: 452px;
  background: #141a20;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
}

.do-battlepass-window.kr-win-minimized .bp-body {
  display: none !important;
}

.do-battlepass-header,
#battlepass-window .bp-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%) !important;
  padding: 6px 10px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #26313b !important;
  cursor: move;
  height: 36px;
  box-sizing: border-box;
}

.do-battlepass-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-battlepass-header-grip:hover {
  opacity: 1;
}

#battlepass-window .bp-header-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.bp-header-badge {
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: bold;
  color: #ffd700;
}

.bp-modal-close {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  margin: 0;
  flex-shrink: 0;
}
.bp-modal-close:hover {
  background-position: center 0px;
}
.bp-modal-close:active {
  background-position: center -48px;
}

.bp-win-minimize {
  width: 20px;
  height: 20px;
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 3px;
  color: #bfbfbf;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 12px;
  transition: 0.15s;
  line-height: 1;
  padding: 0;
}
.bp-win-minimize:hover {
  background: #222222;
  color: #ffffff;
  border-color: #ffd700;
}

#battlepass-window .bp-body {
  padding: 10px 14px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #060c16;
  user-select: none;
  box-sizing: border-box;
}

/* Top Bar */
.bp-top-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 38px;
  padding: 0 4px;
}
.bp-top-left {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  width: 303px;
}
.bp-progress-label {
  color: #ffcc00;
  font-weight: bold;
  font-size: 11px;
  font-family: 'Eurostile', Verdana, sans-serif;
}
.bp-progress-value {
  color: #ffffff;
  font-weight: bold;
  font-size: 12px;
}
.bp-xp-value {
  color: #8899aa;
  font-size: 10px;
}
.bp-top-columns {
  display: flex;
  align-items: center;
}
.bp-col-header {
  display: flex;
  align-items: center;
  justify-content: center;
}
.bp-col-header-free {
  width: 52px;
}
.bp-col-header-gold {
  width: 51px;
}
.bp-header-icon {
  width: 38px;
  height: 38px;
  image-rendering: auto;
}

/* Tiers Container & Scrollbar */
.bp-tiers-container {
  width: 410px;
  height: 242px;
  overflow-y: auto;
  overflow-x: hidden;
  background: #090c0f;
  border: 1px solid #26313b;
  border-radius: 3px;
  scrollbar-width: thin;
  scrollbar-color: #37687f #05080c;
}
.bp-tiers-container::-webkit-scrollbar {
  width: 6px;
  background: #05080c;
}
.bp-tiers-container::-webkit-scrollbar-thumb {
  background: #37687f;
  border-radius: 3px;
}
.bp-tiers-list {
  display: flex;
  flex-direction: column;
  width: 410px;
  box-sizing: border-box;
}

/* Itemrenderer Row: 410x60px */
.bp-tier-row {
  position: relative;
  display: flex;
  width: 410px;
  height: 60px;
  min-height: 60px;
  max-height: 60px;
  background: rgba(14, 20, 28, 0.9);
  border-bottom: 1px solid #1a2736;
  box-sizing: border-box;
  overflow: hidden;
  transition: background 0.15s;
}
.bp-tier-row:hover {
  background: rgba(20, 30, 42, 0.95);
}
.bp-tier-row.tier-reached {
  border-left: 3px solid #ffd700;
}
.bp-tier-row.tier-completed {
  border-left: 3px solid #00ff88;
}

/* Colonna Obiettivo 303px */
.bp-obj-col {
  position: relative;
  width: 303px;
  height: 60px;
  padding: 6px 10px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.bp-obj-row-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bp-tier-title {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 11px;
  font-weight: bold;
  color: #fefefe;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.bp-tier-status {
  font-size: 9.5px;
  font-weight: bold;
  padding: 1px 4px;
  border-radius: 2px;
  letter-spacing: 0.3px;
}
.status-locked {
  color: #64748b;
  background: rgba(100, 116, 139, 0.15);
}
.status-current {
  color: #ffd700;
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid rgba(255, 215, 0, 0.3);
}
.status-completed {
  color: #00ff88;
  background: rgba(0, 255, 136, 0.15);
}
.bp-obj-row-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10px;
  color: #8899aa;
}
.bp-obj-progress-bar {
  width: 100%;
  height: 4px;
  background: #0d1217;
  border: 1px solid #1a2634;
  border-radius: 2px;
  overflow: hidden;
  margin-top: 3px;
}
.bp-obj-progress-fill {
  height: 100%;
  background: linear-gradient(90deg, #d4af37, #ffd700);
  transition: width 0.3s ease;
}

/* Divisori verticali */
.bp-divider {
  width: 1px;
  height: 60px;
  background: #26384a;
}

/* Colonna Free 52px */
.bp-reward-col {
  position: relative;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-sizing: border-box;
  transition: filter 0.15s, background-color 0.15s;
}
.bp-reward-col:hover {
  filter: brightness(1.25);
}
.bp-reward-free {
  width: 52px;
  background: rgba(10, 15, 22, 0.6);
}

/* Colonna Gold 51px */
.bp-reward-gold {
  width: 51px;
  background-image: url('/assets/ui/windows/battlePass/item_gradient.png');
  background-repeat: repeat;
  background-size: cover;
}
.bp-reward-item-box {
  position: relative;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bp-reward-img {
  width: 30px;
  height: 30px;
  object-fit: contain;
  image-rendering: auto;
}
.bp-reward-qty {
  position: absolute;
  bottom: -1px;
  right: -1px;
  font-size: 8.5px;
  font-family: Arial, sans-serif;
  font-weight: 900;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.75);
  padding: 1px 3px;
  border-radius: 2px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  line-height: 1;
  pointer-events: none;
}
.bp-lock-icon {
  position: absolute;
  width: 18px;
  height: 23px;
  image-rendering: auto;
  pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.9));
}
.bp-claimed-check {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.65);
  color: #00ff88;
  font-size: 20px;
  font-weight: bold;
  pointer-events: none;
  text-shadow: 0 0 8px rgba(0, 255, 136, 0.8);
}
.bp-completed-blocker {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.35);
  pointer-events: none;
}

/* Bottom Showcase (123px) */
.bp-bottom-showcase {
  display: flex;
  gap: 9px;
  width: 410px;
  height: 123px;
}
.bp-showcase-box {
  position: relative;
  width: 123px;
  height: 123px;
  background: url('/assets/ui/windows/battlePass/item_bg.png') no-repeat center;
  background-size: contain;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  overflow: hidden;
  cursor: default;
}
.bp-showcase-glow {
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 215, 0, 0.45) 0%, rgba(255, 165, 0, 0) 70%);
  animation: bpPulseGlow 3s infinite ease-in-out;
  pointer-events: none;
}
@keyframes bpPulseGlow {
  0%, 100% { transform: scale(1); opacity: 0.7; }
  50% { transform: scale(1.25); opacity: 1; }
}
.bp-showcase-icon {
  width: 52px;
  height: 52px;
  object-fit: contain;
  image-rendering: auto;
  filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.7));
  z-index: 2;
}
.bp-showcase-badge {
  position: absolute;
  bottom: 6px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 8px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 3px #000;
  background: rgba(0, 0, 0, 0.7);
  padding: 2px 6px;
  border-radius: 3px;
  border: 1px solid rgba(255, 215, 0, 0.4);
  z-index: 2;
}

.bp-description-plate {
  position: relative;
  width: 278px;
  height: 123px;
  background: url('/assets/ui/windows/battlePass/frame_bp-description.png') no-repeat center;
  background-size: 100% 100%;
  padding: 8px 12px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.bp-desc-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffcc00;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}
.bp-desc-text {
  font-size: 9.5px;
  color: #cccccc;
  line-height: 1.35;
  font-family: 'Eurostile', Verdana, sans-serif;
}
.bp-actions-bar {
  display: flex;
  gap: 8px;
  align-items: center;
}

/* Authentic Flash Buttons: Claim All (Green Long) and Unlock Premium (Amber) */
#btn-bp-claim-all,
.bp-btn-claim-all.do-flash-btn-green-long {
  width: 175px;
  height: 33px;
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png');
  background-size: 100% 100%;
  background-repeat: no-repeat;
  image-rendering: auto;
  border: none;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  transition: filter 0.15s ease, transform 0.1s ease;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  box-sizing: border-box;
}
#btn-bp-claim-all:hover,
.bp-btn-claim-all.do-flash-btn-green-long:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: brightness(1.1);
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.6);
}
#btn-bp-claim-all:active,
.bp-btn-claim-all.do-flash-btn-green-long:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}
#btn-bp-claim-all:disabled,
.bp-btn-claim-all.do-flash-btn-green-long:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.6);
  box-shadow: none;
}

#btn-bp-unlock-premium,
.bp-btn-unlock.do-flash-btn-amber {
  height: 33px;
  padding: 0 12px;
  background: linear-gradient(180deg, #4d3e1b 0%, #2a200e 100%);
  border: 1px solid #ffd700;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.25);
  box-sizing: border-box;
  transition: all 0.15s ease;
}
#btn-bp-unlock-premium:hover,
.bp-btn-unlock.do-flash-btn-amber:hover {
  background: linear-gradient(180deg, #635022 0%, #382c13 100%);
  border-color: #ffe655;
  color: #ffffff;
  box-shadow: 0 0 14px rgba(255, 215, 0, 0.5);
}
#btn-bp-unlock-premium:active,
.bp-btn-unlock.do-flash-btn-amber:active {
  transform: translateY(1px);
}

.bp-status-pill {
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid #ffd700;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 9.5px;
  font-weight: 900;
  padding: 4px 8px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}

/* ==========================================================================
   §40. POTENZIAMENTI BOOSTER HUD (DARKORBIT 1:1 PARITY)
   Finestra Flottante Draggable (.do-booster-window), Frame Metallico Scuro Bisellato,
   Header Metallico con Grip, Lista Categorie 156px, Dettaglio 236px, Contatori 1Hz.
   ========================================================================== */

#booster-window,
.do-booster-window {
  width: 432px;
  min-width: 432px;
  background: #141a20;
  border: 2px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
}

.do-booster-window.kr-win-minimized .booster-body {
  display: none !important;
}

.do-booster-header,
#booster-window .booster-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%) !important;
  padding: 6px 10px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #26313b !important;
  cursor: move;
  height: 36px;
  box-sizing: border-box;
}

.do-booster-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-booster-header-grip:hover {
  opacity: 1;
}

#booster-window .booster-header-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.booster-header-badge {
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: bold;
  color: #ffd700;
}

.booster-modal-close {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  padding: 0;
  outline: none;
  margin: 0;
  flex-shrink: 0;
}
.booster-modal-close:hover {
  background-position: center 0px;
}
.booster-modal-close:active {
  background-position: center -48px;
}

.booster-win-minimize {
  width: 20px;
  height: 20px;
  background: #171717;
  border: 1px solid #38404a;
  border-radius: 3px;
  color: #bfbfbf;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 12px;
  transition: 0.15s;
  line-height: 1;
  padding: 0;
}
.booster-win-minimize:hover {
  background: #222222;
  color: #ffffff;
  border-color: #ffd700;
}

#booster-window .booster-body {
  padding: 10px 14px 14px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #060c16;
  user-select: none;
  box-sizing: border-box;
}

.booster-filter-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 20px;
  padding-left: 2px;
}

.booster-checkbox-btn {
  width: 16px;
  height: 16px;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  background-image: url('/assets/ui/windows/booster/checkbox16x16_blue_normal_unselected.png');
  image-rendering: auto;
}
.booster-checkbox-btn:hover {
  background-image: url('/assets/ui/windows/booster/checkbox16x16_blue_over_unselected.png');
}
.booster-checkbox-btn.checked {
  background-image: url('/assets/ui/windows/booster/checkbox16x16_blue_normal_selected.png');
}
.booster-checkbox-btn.checked:hover {
  background-image: url('/assets/ui/windows/booster/checkbox16x16_blue_over_selected.png');
}

.booster-filter-label {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 10px;
  color: #ededed;
  cursor: pointer;
  user-select: none;
}

.booster-content-wrap {
  display: flex;
  gap: 10px;
  height: 255px;
}

.booster-left-col {
  width: 156px;
  height: 255px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
}

.booster-scroll-buttons-top,
.booster-scroll-buttons-bottom {
  display: flex;
  gap: 2px;
  height: 15px;
  width: 156px;
}

.booster-scroll-btn {
  border: none;
  padding: 0;
  margin: 0;
  outline: none;
  cursor: pointer;
  background-repeat: no-repeat;
  background-position: center;
  image-rendering: auto;
}

.booster-scroll-big-up {
  width: 124px;
  height: 15px;
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_up_normal.png');
}
.booster-scroll-big-up:hover {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_up_hover.png');
}
.booster-scroll-big-up:active {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_up_active.png');
}
.booster-scroll-big-up.disabled {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_up_inactive.png');
  cursor: default;
  pointer-events: none;
}

.booster-scroll-small-up {
  width: 30px;
  height: 15px;
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_up_normal.png');
}
.booster-scroll-small-up:hover {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_up_hover.png');
}
.booster-scroll-small-up:active {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_up_active.png');
}
.booster-scroll-small-up.disabled {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_up_inactive.png');
  cursor: default;
  pointer-events: none;
}

.booster-scroll-big-down {
  width: 124px;
  height: 15px;
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_down_normal.png');
}
.booster-scroll-big-down:hover {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_down_hover.png');
}
.booster-scroll-big-down:active {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_down_active.png');
}
.booster-scroll-big-down.disabled {
  background-image: url('/assets/ui/windows/booster/scrollbtn_big_down_inactive.png');
  cursor: default;
  pointer-events: none;
}

.booster-scroll-small-down {
  width: 30px;
  height: 15px;
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_down_normal.png');
}
.booster-scroll-small-down:hover {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_down_hover.png');
}
.booster-scroll-small-down:active {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_down_active.png');
}
.booster-scroll-small-down.disabled {
  background-image: url('/assets/ui/windows/booster/scrollbtn_small_down_inactive.png');
  cursor: default;
  pointer-events: none;
}

.booster-categories-list {
  width: 156px;
  height: 215px;
  overflow: hidden;
  background: url('/assets/ui/windows/booster/list_bg.png') repeat;
  border-radius: 2px;
  position: relative;
}

.booster-cat-row {
  width: 156px;
  height: 43px;
  position: relative;
  box-sizing: border-box;
  cursor: pointer;
  overflow: hidden;
  display: flex;
  align-items: center;
  transition: background-color 0.15s;
}
.booster-cat-row:hover {
  background-color: rgba(255, 255, 255, 0.08);
}
.booster-cat-row.selected {
  background: url('/assets/ui/windows/booster/cat_select_category_box.png') no-repeat center !important;
}

.booster-cat-icon {
  position: absolute;
  left: 6px;
  top: 6px;
  width: 30px;
  height: 30px;
  image-rendering: auto;
}

.booster-cat-frame {
  position: absolute;
  left: 5px;
  top: 5px;
  width: 32px;
  height: 32px;
  image-rendering: auto;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
}
.booster-cat-frame.frame-blue {
  background-image: url('/assets/ui/windows/booster/box_cat_blue.png');
}
.booster-cat-frame.frame-red {
  background-image: url('/assets/ui/windows/booster/box_cat_red.png');
}
.booster-cat-frame.frame-grey {
  background-image: url('/assets/ui/windows/booster/box_cat_grey.png');
}

.booster-cat-badge {
  position: absolute;
  left: 24px;
  top: 5px;
  font-size: 8px;
  font-weight: bold;
  color: #ffd700;
  background: rgba(0, 0, 0, 0.75);
  border-radius: 50%;
  width: 12px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.booster-cat-texts {
  position: absolute;
  left: 45px;
  top: 3px;
  width: 86px;
  height: 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}
.booster-cat-title {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 9.5px;
  font-weight: bold;
  color: #ededed;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 11px;
}
.booster-cat-percent {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 9.5px;
  color: #ededed;
  line-height: 11px;
}
.booster-cat-percent.active {
  color: #00ff88;
}
.booster-cat-time {
  font-family: 'Eurostile', Verdana, monospace;
  font-size: 9px;
  color: #88aacc;
  line-height: 11px;
}
.booster-cat-time.alert {
  color: #ff3838;
}

.booster-cat-arrow {
  position: absolute;
  right: 5px;
  top: 13px;
  width: 19px;
  height: 17px;
  background: url('/assets/ui/windows/booster/btn_jump_normal.png') no-repeat center;
  border: none;
  cursor: pointer;
  image-rendering: auto;
}
.booster-cat-arrow:hover {
  background-image: url('/assets/ui/windows/booster/btn_jump_hover.png');
}
.booster-cat-arrow:active {
  background-image: url('/assets/ui/windows/booster/btn_jump_active.png');
}

.booster-right-col {
  width: 236px;
  height: 255px;
  box-sizing: border-box;
  background: url('/assets/ui/windows/booster/detail_bg.png') no-repeat top left, url('/assets/ui/windows/booster/list_bg.png') repeat;
  border-radius: 3px;
  border: 1px solid #1a2a3a;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
}

.booster-detail-header {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 10px;
  font-weight: bold;
  color: #00e5ff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 8px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(0, 229, 255, 0.2);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.booster-detail-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.booster-detail-row {
  width: 100%;
  height: 43px;
  position: relative;
  box-sizing: border-box;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #1a2a3a;
  border-radius: 3px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.booster-detail-icon {
  position: absolute;
  left: 6px;
  top: 6px;
  width: 30px;
  height: 30px;
  image-rendering: auto;
}

.booster-detail-frame {
  position: absolute;
  left: 5px;
  top: 5px;
  width: 32px;
  height: 32px;
  image-rendering: auto;
  pointer-events: none;
  background-repeat: no-repeat;
  background-position: center;
}
.booster-detail-frame.frame-blue {
  background-image: url('/assets/ui/windows/booster/box_item_blue.png');
}
.booster-detail-frame.frame-grey {
  background-image: url('/assets/ui/windows/booster/box_item_grey.png');
}

.booster-detail-texts {
  position: absolute;
  left: 45px;
  top: 3px;
  width: 165px;
  height: 38px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
}

.booster-detail-name {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 10px;
  font-weight: bold;
  color: #ededed;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 12px;
}

.booster-detail-effect {
  font-family: 'Eurostile', Verdana, sans-serif;
  font-size: 9.5px;
  color: #88aacc;
  line-height: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.booster-detail-time {
  font-family: 'Eurostile', Verdana, monospace;
  font-size: 9.5px;
  color: #ffd700;
  line-height: 11px;
}
.booster-detail-time.inactive {
  color: #767676;
}


/* ========================================================================== */
/* §41. BOUNTY BOARD & MANHUNT OUTLAW NETWORK (DARKORBIT 1:1 PARITY)           */
/* ========================================================================== */
.do-bounty-window {
  width: 720px;
  min-width: 640px;
  max-width: 1000px;
  min-height: 440px;
  max-height: 750px;
  background: #0c1219;
  border: 1px solid #2a3847;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}

.do-bounty-window.kr-win-minimized .bounty-modal-body {
  display: none !important;
}

.bounty-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #182028 0%, #0c1117 100%) !important;
  padding: 6px 10px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #263442 !important;
  cursor: move;
  height: 38px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.do-bounty-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-bounty-header-grip:hover {
  opacity: 1;
}

.bounty-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.bounty-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.bounty-header-title {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.bounty-header-badge {
  background: #1e1305;
  border: 1px solid #d97706;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: bold;
  color: #fbbf24;
}

.bounty-header-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}

.bounty-modal-body {
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #090e14;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1;
}

.bounty-alert-error {
  background: rgba(220, 38, 38, 0.15);
  border: 1px solid #ef4444;
  border-radius: 4px;
  padding: 8px 12px;
  color: #fca5a5;
  font-size: 11.5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.bounty-items-container {
  max-height: 220px;
  overflow-y: auto;
  background: #06090d;
  border-radius: 4px;
  border: 1px solid #1e2936;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-sizing: border-box;
}

.bounty-list-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  background: #0f151c;
  border: 1px solid #233140;
  border-left: 3px solid #ffd700;
  border-radius: 4px;
  transition: background 0.15s;
}
.bounty-list-item.is-critical {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.4);
  border-left: 3px solid #ef4444;
}

.bounty-target-name {
  font-weight: 700;
  font-size: 13.5px;
  color: #f8fafc;
}

.bounty-issuer-info {
  font-size: 11.5px;
  color: #94a3b8;
  margin-top: 2px;
}

.bounty-amount-text {
  font-weight: 700;
  color: #ffd700;
  font-size: 14px;
  font-family: monospace;
}

.bounty-timer-text {
  font-size: 11.5px;
  color: #94a3b8;
  font-family: monospace;
  margin-top: 2px;
}

.bounty-form-card {
  background: #0f151c;
  border: 1px solid #233140;
  border-radius: 6px;
  padding: 14px;
  box-sizing: border-box;
}

.bounty-form-title {
  font-size: 11px;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  margin-bottom: 10px;
  letter-spacing: 0.5px;
}

.bounty-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 12px;
}

.bounty-input-wrap label {
  font-size: 11.5px;
  color: #94a3b8;
  display: block;
  margin-bottom: 4px;
  font-weight: 600;
}

.bounty-input {
  width: 100%;
  box-sizing: border-box;
  background: #070a0e;
  border: 1px solid #233140;
  color: #ffffff;
  padding: 8px 10px;
  border-radius: 4px;
  font-size: 12px;
  outline: none;
  transition: border-color 0.15s;
}
.bounty-input:focus {
  border-color: #00e5ff;
}

.bounty-form-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* Flash Green Long Button for Bounty Board */
.btn-flash-bounty-submit {
  width: 175px;
  height: 33px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
}
.btn-flash-bounty-submit:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: brightness(1.1);
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.6);
}
.btn-flash-bounty-submit:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}
.btn-flash-bounty-submit:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.6);
  box-shadow: none;
}


/* ========================================================================== */
/* §42. SOVRANITÀ TERRITORIALE & CBS FORTEZZA (DARKORBIT 1:1 PARITY)           */
/* ========================================================================== */
.do-sovereignty-window {
  width: 940px;
  min-width: 780px;
  max-width: 1280px;
  min-height: 520px;
  max-height: 820px;
  background: #090e15;
  border: 1px solid #223242;
  border-radius: 4px;
  box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}

.do-sovereignty-window.kr-win-minimized .sov-nav-bar,
.do-sovereignty-window.kr-win-minimized .sov-modal-body {
  display: none !important;
}

.sov-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%) !important;
  padding: 6px 12px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #1e3042 !important;
  cursor: move;
  height: 38px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.do-sovereignty-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-sovereignty-header-grip:hover {
  opacity: 1;
}

.sov-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sov-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.sov-header-title {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.sov-header-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}

.sov-nav-bar {
  display: flex;
  gap: 6px;
  background: #0b1118;
  border-bottom: 1px solid #1c2a38;
  padding: 6px 14px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.sov-tab-btn.do-nav-tab {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #111a24;
  border: 1px solid #233446;
  border-radius: 3px;
  color: #94a3b8;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  padding: 6px 14px;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}
.sov-tab-btn.do-nav-tab:hover {
  background: #172433;
  color: #ffffff;
  border-color: #38506b;
}
.sov-tab-btn.do-nav-tab.active {
  background: #1e3044;
  color: #ffd700;
  border-color: #ffd700;
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.25);
}

.sov-modal-body,
.sov-body {
  padding: 14px 18px;
  background: #070b10;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Flash Green Long Button for Sovereignty Deploy & Upgrade Actions */
.btn-flash-sov-action {
  min-width: 160px;
  height: 33px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
  padding: 0 16px;
}
.btn-flash-sov-action:hover {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: brightness(1.1);
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.6);
}
.btn-flash-sov-action:active {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
  transform: translateY(1px);
}
.btn-flash-sov-action:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png');
  cursor: not-allowed;
  filter: grayscale(0.6);
  box-shadow: none;
}

/* Sovereignty Sector Grid & Card Details */
.sov-sector-header-card {
  background: #0d151f;
  border: 1px solid #1f2f40;
  border-radius: 6px;
  padding: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.sov-sector-badge-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sov-sector-badge-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
}

.sov-sector-title {
  font-size: 16px;
  font-weight: 900;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  letter-spacing: 0.4px;
}

.sov-sector-meta-text {
  font-size: 11.5px;
  color: #94a3b8;
  margin-top: 3px;
}

.sov-grid-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.sov-stat-card {
  background: #0d151f;
  border: 1px solid #1f2f40;
  border-radius: 6px;
  padding: 14px;
}

.sov-stat-card-title {
  font-size: 10px;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  letter-spacing: 0.6px;
  margin-bottom: 10px;
}

.sov-galaxy-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
  line-height: 1.45;
}
.sov-galaxy-table th {
  padding: 8px 10px;
  background: #111a24;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  border-bottom: 1px solid #233446;
}
.sov-galaxy-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #14202c;
}
.sov-galaxy-table tr:hover {
  background: rgba(0, 229, 255, 0.05);
}

.sov-protocols-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.sov-protocol-card {
  background: #0a111a;
  border: 1px solid #1d2c3c;
  border-radius: 4px;
  padding: 10px 12px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.sov-protocol-title-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: 6px;
}

.sov-protocol-name {
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
}

.sov-protocol-desc {
  font-size: 10.5px;
  color: #94a3b8;
  line-height: 1.35;
  margin-bottom: 8px;
}

/* Contenuto dei pannelli Settore / Galassia / Protocolli CBS (ripristino: l'overhaul aveva rimosso
   l'injectStyles() di SovereigntyModal senza portare questi selettori nel CSS globale) */
.sov-sector-view {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 14px;
}

.sov-sector-card,
.sov-sector-actions-card {
  background: #0d151f;
  border: 1px solid #1f2f40;
  border-radius: 6px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}

.sov-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #1f2f40;
  padding-bottom: 8px;
}

.sov-badge {
  font-size: 11px;
  font-weight: 900;
  padding: 2px 8px;
  border-radius: 3px;
  letter-spacing: 0.5px;
}
.sov-badge-neutral { background: #334455; color: #ffffff; }
.sov-badge-deploying { background: #ffaa00; color: #000000; animation: sbDeployBlink 1.2s infinite alternate; }
.sov-badge-beacon { background: #00ff88; color: #002211; }
.sov-badge-cbs { background: #00aaff; color: #001122; text-shadow: 0 0 6px #ffffff; }

@keyframes sbDeployBlink {
  0% { opacity: 0.7; }
  100% { opacity: 1; }
}

.sov-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sov-label {
  font-size: 11px;
  color: #94a3b8;
  font-weight: 600;
}

.sov-vital-bars {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #090c0f;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 8px;
}

.sov-bar-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sov-bar-label {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
}
.sov-bar-bg {
  width: 100%;
  height: 9px;
  background: #091322;
  border: 1px solid #26313b;
  border-radius: 3px;
  overflow: hidden;
}
.sov-bar-fill {
  height: 100%;
  transition: width 0.3s ease-out;
}
.sov-bar-hp { background: linear-gradient(90deg, #00aa44 0%, #00ff88 100%); }
.sov-bar-shield { background: linear-gradient(90deg, #0088cc 0%, #00e5ff 100%); }

.sov-subsystems-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.sov-subsystem-box {
  background: #090c0f;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 7px 9px;
}
.sov-subsystem-title {
  font-size: 11px;
  font-weight: 600;
  color: #94a3b8;
  letter-spacing: 0.5px;
}
.sov-subsystem-val {
  font-size: 11.5px;
  font-family: monospace;
  font-weight: 700;
  margin-top: 3px;
}

.sov-bonuses-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sov-bonus-item {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #090c0f;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 8px;
}
.sov-bonus-icon {
  font-size: 14px;
}

.sov-telemetry-box {
  background: #090c0f;
  border: 1px solid #26313b;
  border-radius: 4px;
  padding: 6px 10px;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  font-family: monospace;
}

.sov-action-buttons-wrap {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: auto;
}

.sov-action-btn:not(.btn-flash-sov-action) {
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%);
  border: 1px solid #00aaff;
  border-radius: 4px;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 10px 14px;
  cursor: pointer;
}
.sov-action-btn.disabled {
  color: #667788;
  cursor: not-allowed;
}

.sov-btn-hint {
  font-size: 11px;
  text-align: center;
}
.sov-btn-hint.error { color: #ff3333; }
.sov-btn-hint.success { color: #00ff88; }

.sov-non-contested-notice {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 40px 20px;
  text-align: center;
}

/* Mappa Galattica */
.sov-galaxy-view {
  display: flex;
  flex-direction: column;
}
.sov-table-wrap {
  border: 1px solid #26313b;
  border-radius: 4px;
  overflow: hidden;
}
.sov-galaxy-table td {
  background: #090c0f;
}
.sov-galaxy-row:hover td {
  background: rgba(255, 215, 0, 0.08);
}
.sov-galaxy-row.selected td {
  background: rgba(255, 215, 0, 0.15);
  border-left: 3px solid #ffd700;
}

.sov-inspect-btn {
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%);
  border: 1px solid #38506b;
  color: #ffd700;
  border-radius: 3px;
  padding: 3px 8px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10.5px;
  font-weight: 900;
  cursor: pointer;
}
.sov-inspect-btn:hover {
  background: #1e3044;
  border-color: #ffd700;
}

.sov-tag-faction {
  font-size: 10.5px;
  font-weight: 900;
  padding: 1px 5px;
  border-radius: 3px;
}
.sov-tag-mmo { background: #441111; color: #ff5544; border: 1px solid #ff4433; }
.sov-tag-eic { background: #112244; color: #44aaff; border: 1px solid #3388ff; }
.sov-tag-vru { background: #113311; color: #44ff77; border: 1px solid #22cc55; }

/* Protocolli Tattici CBS (§ 6.1.1) */
.sov-protocols-panel {
  background: #0d151f;
  border: 1px solid #1f2f40;
  border-radius: 6px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 10px;
}
.sov-protocol-card {
  gap: 8px;
  transition: border-color 0.2s ease;
}
.sov-protocol-card.active {
  border-color: #00ff88;
  background: rgba(0, 255, 136, 0.08);
}
.sov-protocol-card.paused {
  border-color: #ffaa00;
  background: rgba(255, 170, 0, 0.08);
}
.sov-protocol-card.cooldown {
  border-color: #64748b;
  background: rgba(100, 116, 139, 0.08);
}

.sov-proto-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sov-proto-badge {
  font-size: 10px;
  font-weight: 900;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
}

.sov-proto-cost-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 10.5px;
  color: #94a3b8;
  background: rgba(0, 0, 0, 0.3);
  padding: 4px 8px;
  border-radius: 3px;
}

.btn-activate-protocol {
  width: 100%;
  padding: 7px 12px;
  background: linear-gradient(180deg, #00aa55 0%, #006633 100%);
  border: 1px solid #00ff88;
  border-radius: 4px;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-activate-protocol:hover:not(:disabled) {
  box-shadow: 0 0 10px rgba(0, 255, 136, 0.5);
}
.btn-activate-protocol:disabled {
  background: #232d37;
  border-color: #384552;
  color: #64748b;
  cursor: not-allowed;
}


/* ========================================================================== */
/* §43. GRADI MILITARI & STAGIONE (DARKORBIT 1:1 PARITY)                       */
/* ========================================================================== */
.do-seasonrank-window {
  width: 840px;
  min-width: 720px;
  max-width: 1100px;
  min-height: 480px;
  max-height: 800px;
  background: #0b1017;
  border: 1px solid #233242;
  border-radius: 4px;
  box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}

.do-seasonrank-window.kr-win-minimized .season-modal-body {
  display: none !important;
}

.season-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%) !important;
  padding: 6px 12px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #1e3042 !important;
  cursor: move;
  height: 38px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.do-seasonrank-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-seasonrank-header-grip:hover {
  opacity: 1;
}

.season-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.season-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.season-header-title {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.season-header-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}

.season-modal-body {
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  background: #070c12;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1;
}

.season-profile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.season-card {
  background: #0f1620;
  border: 1px solid #223242;
  border-radius: 6px;
  padding: 14px;
  box-sizing: border-box;
}

.season-card-label {
  font-size: 10px;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  letter-spacing: 0.6px;
}

.season-metrics-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  font-size: 11px;
}

.season-metric-box {
  background: #0f1620;
  border: 1px solid #1f2d3a;
  padding: 8px 10px;
  border-radius: 4px;
  box-sizing: border-box;
}

.season-ranks-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
  line-height: 1.45;
}
.season-ranks-table th {
  padding: 7px 9px;
  background: #111a24;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.5px;
  border-bottom: 1px solid #26313b;
}
.season-ranks-table td {
  padding: 7px 9px;
  border-bottom: 1px solid #17212b;
}
.season-ranks-table tr.season-rank-current {
  background: rgba(255, 215, 0, 0.12);
  border: 1px solid #ffd700;
}


/* ========================================================================== */
/* §44. HALL OF FAME & ALBO D'ORO (DARKORBIT 1:1 PARITY)                       */
/* ========================================================================== */
.do-hof-window {
  width: 800px;
  min-width: 680px;
  max-width: 1100px;
  min-height: 460px;
  max-height: 780px;
  background: #0b1017;
  border: 1px solid #233242;
  border-radius: 4px;
  box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}

.do-hof-window.kr-win-minimized .hof-nav-bar,
.do-hof-window.kr-win-minimized .hof-modal-body {
  display: none !important;
}

.hof-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%) !important;
  padding: 6px 12px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #1e3042 !important;
  cursor: move;
  height: 38px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.do-hof-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-hof-header-grip:hover {
  opacity: 1;
}

.hof-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hof-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.hof-header-title {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.hof-header-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}

.hof-nav-bar {
  display: flex;
  gap: 6px;
  background: #0b1118;
  border-bottom: 1px solid #1c2a38;
  padding: 6px 14px;
  box-sizing: border-box;
  flex-shrink: 0;
  overflow-x: auto;
}

.hof-cat-btn {
  background: linear-gradient(180deg, #171717 0%, #101010 100%);
  color: #94a3b8;
  border: 1px solid #38404a;
  border-radius: 4px;
  padding: 6px 14px;
  font-size: 10.5px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
  transition: 0.15s;
}
.hof-cat-btn:hover {
  color: #ffffff;
  border-color: #556270;
}
.hof-cat-btn.active {
  background: #222222;
  color: #ffd700;
  border-color: #ffd700;
  box-shadow: 0 0 8px rgba(255, 215, 0, 0.25);
}

.hof-modal-body {
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  background: #070c12;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1;
}

.hof-table-wrap {
  flex: 1;
  overflow-y: auto;
  background: #06090d;
  border: 1px solid #1e2936;
  border-radius: 4px;
  padding: 8px;
  box-sizing: border-box;
}

.hof-leaderboard-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  text-align: left;
  line-height: 1.45;
}
.hof-leaderboard-table thead tr {
  border-bottom: 1px solid #26313b;
  background: #12171c;
  color: #ffd700;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 10px;
}
.hof-leaderboard-table th {
  padding: 8px 10px;
}
.hof-leaderboard-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #14202c;
}
.hof-leaderboard-table tr:hover {
  background: rgba(0, 229, 255, 0.04);
}


/* ========================================================================== */
/* §45. DEATH RECAP OVERLAY & REPAIR CARDS (DARKORBIT 1:1 PARITY)             */
/* ========================================================================== */
.do-death-overlay {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(4, 7, 16, 0.90);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99990; /* sotto la schermata di login (99999) */
  font-family: 'Share Tech Mono', 'Rajdhani', sans-serif;
  animation: kryptonFadeIn 0.25s ease-out forwards;
}

@keyframes kryptonFadeIn {
  from { opacity: 0; transform: scale(0.97); }
  to { opacity: 1; transform: scale(1); }
}

.do-deathrecap-window,
.do-death-dialog {
  width: 680px;
  max-width: 95vw;
  max-height: 92vh;
  background: linear-gradient(180deg, #101622 0%, #070b12 100%);
  border: 2px solid #ff3344;
  box-shadow: 0 0 35px rgba(255, 51, 68, 0.5), inset 0 0 20px rgba(255, 51, 68, 0.15);
  border-radius: 6px;
  padding: 20px 24px;
  color: #ededed;
  box-sizing: border-box;
  overflow-y: auto;
}

.do-deathrecap-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-deathrecap-header-grip:hover {
  opacity: 1;
}

.do-death-title-bar {
  text-align: center;
  margin-bottom: 16px;
  border-bottom: 1px solid rgba(255, 51, 68, 0.3);
  padding-bottom: 12px;
}

.do-death-subtitle {
  font-size: 11px;
  letter-spacing: 3px;
  color: #ff5566;
  font-weight: 900;
  font-family: 'Arial Black', Arial, sans-serif;
}

.do-death-main-title {
  margin: 4px 0;
  color: #ff3344;
  font-size: 26px;
  text-shadow: 0 0 15px rgba(255, 51, 68, 0.8);
  font-family: 'Orbitron', 'Michroma', sans-serif;
  letter-spacing: 2px;
}

.do-death-telemetry-box {
  background: rgba(14, 21, 35, 0.85);
  border: 1px solid rgba(0, 240, 255, 0.25);
  border-radius: 5px;
  padding: 12px 16px;
  margin-bottom: 16px;
}

.do-dmg-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  margin-top: 6px;
}

.do-dmg-track {
  display: flex;
  gap: 3px;
  height: 8px;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 3px;
  padding: 1px;
  margin-top: 3px;
  margin-bottom: 8px;
}

.do-dmg-pip {
  flex: 1;
  border-radius: 1px;
  background: rgba(255, 255, 255, 0.08);
  transition: background 0.3s ease;
}

.do-dmg-pip.pip-fill-laser { background: #ff3344; box-shadow: 0 0 4px #ff3344; }
.do-dmg-pip.pip-fill-rocket { background: #ffaa00; box-shadow: 0 0 4px #ffaa00; }
.do-dmg-pip.pip-fill-mine { background: #bb44ff; box-shadow: 0 0 4px #bb44ff; }
.do-dmg-pip.pip-fill-rad { background: #00ff88; box-shadow: 0 0 4px #00ff88; }

.dmg-bar-bg {
  background: rgba(255, 255, 255, 0.08);
  border-radius: 3px;
  height: 8px;
  overflow: hidden;
  margin-top: 4px;
  margin-bottom: 10px;
}

.dmg-bar-fill {
  height: 100%;
  transition: width 0.5s ease-out;
}

.do-repair-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 14px;
}

.do-repair-card {
  background: rgba(16, 24, 38, 0.9);
  border: 1px solid rgba(0, 229, 255, 0.3);
  border-radius: 6px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-sizing: border-box;
}

.do-repair-card-icon {
  width: 36px;
  height: 36px;
  object-fit: contain;
  margin-bottom: 8px;
}

.do-repair-card-title {
  font-size: 12px;
  font-weight: 900;
  color: #ffffff;
  margin-bottom: 4px;
  font-family: 'Arial Black', Arial, sans-serif;
}

.do-repair-card-cost {
  font-size: 11px;
  font-weight: bold;
  margin-bottom: 10px;
}

.recap-btn,
.do-repair-btn {
  width: 100% !important;
  max-width: 190px;
  height: 33px !important;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center !important;
  background-size: 100% 100% !important;
  border: none !important;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff !important;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: 0.8px;
  text-shadow: 0 1px 2px #000;
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
}

.recap-btn:hover:not(:disabled),
.do-repair-btn:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
  filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
}

.recap-btn:active:not(:disabled),
.do-repair-btn:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
  transform: translateY(1px);
}

.recap-btn:disabled,
.do-repair-btn:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png') !important;
  cursor: not-allowed;
  opacity: 0.6;
}

/* ========================================================================== */
/* §46. SETTINGS FLOATING WINDOW (DARKORBIT 1:1 PARITY)                        */
/* ========================================================================== */
.do-settings-window {
  width: 640px;
  min-width: 540px;
  max-width: 900px;
  min-height: 420px;
  max-height: 800px;
  background: #0b1017;
  border: 1px solid #1e3042;
  border-radius: 4px;
  box-shadow: inset 0 0 35px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  display: flex;
  flex-direction: column;
}

.do-settings-window.kr-win-minimized .settings-nav-bar,
.do-settings-window.kr-win-minimized .settings-modal-body,
.do-settings-window.kr-win-minimized .settings-modal-footer,
.do-settings-window.kr-win-minimized .kr-settings-tabs,
.do-settings-window.kr-win-minimized .kr-settings-body,
.do-settings-window.kr-win-minimized .kr-settings-footer {
  display: none !important;
}

.settings-modal-header,
.kr-settings-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(180deg, #172433 0%, #0a111a 100%) !important;
  padding: 6px 12px;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
  border-bottom: 1px solid #1e3042 !important;
  cursor: move;
  height: 38px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.do-settings-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-settings-header-grip:hover { opacity: 1; }

.settings-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}

.settings-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.settings-header-title {
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
}

.settings-nav-bar,
.kr-settings-tabs {
  display: flex;
  gap: 6px;
  background: #0b1118;
  border-bottom: 1px solid #1c2a38;
  padding: 6px 14px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.settings-modal-body,
.kr-settings-body {
  padding: 14px 18px;
  display: flex;
  flex-direction: column;
  background: #070c12;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1;
}

.settings-modal-footer,
.kr-settings-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(0, 0, 0, 0.3);
  flex-shrink: 0;
}

.do-flash-btn-primary {
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center;
  background-size: 100% 100%;
  border: none;
  min-width: 140px;
  height: 33px;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.5px;
  text-shadow: 0 1px 2px #000;
  transition: all 0.15s ease;
}
.do-flash-btn-primary:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png');
  filter: drop-shadow(0 0 6px rgba(0, 255, 136, 0.6));
}
.do-flash-btn-primary:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png');
}

/* ========================================================================== */
/* §47. LOGOUT MODAL & CONFIRM BEVEL DIALOG (DARKORBIT 1:1 PARITY)             */
/* ========================================================================== */
.do-logout-overlay {
  position: fixed;
  inset: 0;
  background: rgba(3, 7, 14, 0.8);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.do-logout-window,
.do-confirm-dialog.do-logout-dialog {
  width: 480px;
  max-width: 92vw;
  background: linear-gradient(180deg, #121824 0%, #080c14 100%);
  border: 2px solid rgba(255, 51, 51, 0.7);
  box-shadow: 0 0 35px rgba(255, 51, 51, 0.35), inset 0 0 15px rgba(255, 51, 51, 0.15);
  border-radius: 6px;
  color: #fff;
  font-family: 'Share Tech Mono', monospace;
  overflow: hidden;
  box-sizing: border-box;
}

.do-logout-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-logout-header-grip:hover { opacity: 1; }

.logout-countdown-track {
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 12px 0;
}

.logout-pip {
  width: 24px;
  height: 8px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 170, 0, 0.3);
  border-radius: 2px;
  transition: all 0.2s ease;
}

.logout-pip.active {
  background: #ffaa00;
  box-shadow: 0 0 8px #ffaa00;
}

.do-flash-btn-danger,
.btn-flash-logout-confirm {
  background: linear-gradient(180deg, #d32f2f 0%, #8b0000 100%);
  border: 1px solid #ff5252;
  color: #ffffff;
  padding: 8px 20px;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}

.do-flash-btn-danger:hover,
.btn-flash-logout-confirm:hover {
  background: linear-gradient(180deg, #ff5252 0%, #b71c1c 100%);
  box-shadow: 0 0 12px rgba(255, 82, 82, 0.6);
}

.do-flash-btn-secondary,
.btn-flash-logout-cancel {
  background: linear-gradient(180deg, #2b3542 0%, #1a222c 100%);
  border: 1px solid #4a5c6e;
  color: #cfd8dc;
  padding: 8px 18px;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.do-flash-btn-secondary:hover,
.btn-flash-logout-cancel:hover {
  background: linear-gradient(180deg, #37474f 0%, #263238 100%);
  color: #ffffff;
  border-color: #78909c;
}

/* ========================================================================== */
/* §48. BANCO CALIBRAZIONE OLOGRAFICA (TRANSMOG DESIGN SCAFO) (DARKORBIT 1:1)   */
/* ========================================================================== */
.do-synth-window {
  width: 1060px;
  min-width: 880px;
  max-width: 1280px;
  min-height: 560px;
  max-height: 850px;
  background: #0c1117;
  border: 1px solid #2d3842;
  border-radius: 4px;
  box-shadow: inset 0 0 40px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}
.do-synth-window.kr-win-minimized .holo-modal-body {
  display: none !important;
}
.do-synth-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-synth-header-grip:hover {
  opacity: 1;
}

.holo-modal-wrapper {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}
.holo-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 18px;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
  height: 50px;
  flex-shrink: 0;
}
.holo-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}
.holo-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.holo-modal-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-shadow: 0 0 10px rgba(0, 229, 255, 0.4);
}
.holo-header-controls {
  display: flex;
  gap: 4px;
  align-items: center;
}
.holo-close-btn {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  cursor: pointer;
  display: block;
  transition: filter 0.15s ease;
  image-rendering: auto;
}
.holo-close-btn:hover {
  background-position: center 0px;
  filter: brightness(1.2);
}
.holo-modal-body {
  display: flex;
  flex: 1;
  overflow: hidden;
  gap: 16px;
  padding: 16px;
  background: #0f151b;
}
.holo-preview-column {
  width: 360px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex-shrink: 0;
}
.holo-viewport {
  height: 330px;
  background: radial-gradient(circle at center, #1c2329 0%, #090710 100%);
  border: 1px solid #2d3842;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.8);
}
.holo-scanline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: rgba(0, 229, 255, 0.6);
  box-shadow: 0 0 10px #00e5ff;
  animation: holoScan 3.5s linear infinite;
  pointer-events: none;
}
@keyframes holoScan {
  0% { top: 0%; opacity: 0; }
  15% { opacity: 0.8; }
  85% { opacity: 0.8; }
  100% { top: 100%; opacity: 0; }
}
.holo-pad-ring {
  position: absolute;
  bottom: 25px;
  width: 170px;
  height: 48px;
  border-radius: 50%;
  border: 2px dashed rgba(0, 229, 255, 0.4);
  box-shadow: 0 0 16px rgba(0, 229, 255, 0.3);
  transform: rotateX(60deg);
  pointer-events: none;
}
.holo-ship-img {
  width: 175px;
  height: 175px;
  object-fit: contain;
  image-rendering: auto; /* Invariante 8 */
  filter: drop-shadow(0 0 18px rgba(0, 229, 255, 0.5));
  transition: transform 0.3s ease;
}
.holo-badge-projected {
  position: absolute;
  top: 12px;
  left: 12px;
  background: rgba(0, 229, 255, 0.12);
  border: 1px solid #00e5ff;
  color: #00e5ff;
  padding: 3px 8px;
  border-radius: 3px;
  font-size: 9.5px;
  font-weight: bold;
  letter-spacing: 0.5px;
}
.holo-spec-hud {
  background: #171324;
  border: 1px solid #26313b;
  border-radius: 6px;
  padding: 12px 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.holo-spec-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 13px;
  font-weight: 900;
  color: #ffffff;
}
.holo-spec-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
}
.holo-spec-label {
  color: #8da4b8;
}
.holo-spec-val {
  font-weight: bold;
}
.holo-controls-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
}
.holo-banner {
  padding: 8px 12px;
  border-radius: 4px;
  font-size: 11.5px;
  font-weight: bold;
  display: flex;
  align-items: center;
  border: 1px solid #2d3842;
}
.holo-grid-viewport {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-right: 4px;
}
.holo-design-card {
  background: #161224;
  border: 1px solid #222c35;
  border-radius: 4px;
  padding: 10px 14px;
  display: flex;
  gap: 14px;
  align-items: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.holo-design-card:hover {
  background: #1c2329;
  border-color: #00d0ff;
  transform: translateX(2px);
}
.holo-design-card.selected {
  background: #222c35;
  border-color: #00e5ff;
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.3);
}
.holo-design-card.active-now {
  border-color: #ffd700;
}
.holo-card-thumb-wrap {
  width: 58px;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.4);
  border: 1px solid #222c35;
  border-radius: 4px;
  flex-shrink: 0;
}
.holo-card-thumb {
  width: 50px;
  height: 50px;
  object-fit: contain;
  image-rendering: auto; /* Invariante 8 */
}
.holo-card-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.holo-card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.holo-card-name {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffffff;
}
.holo-card-status-pill {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 9.5px;
  font-weight: bold;
}
.holo-card-status-pill.pill-active {
  background: rgba(255, 215, 0, 0.15);
  border: 1px solid #ffd700;
  color: #ffd700;
}
.holo-card-status-pill.pill-owned {
  background: rgba(0, 255, 136, 0.12);
  border: 1px solid #00ff88;
  color: #00ff88;
}
.holo-card-status-pill.pill-locked {
  background: rgba(255, 77, 109, 0.12);
  border: 1px solid #ff4d6d;
  color: #ff4d6d;
}
.holo-card-desc {
  font-size: 10.5px;
  color: #8da4b8;
}
.holo-card-perk {
  font-size: 10px;
  color: #00e5ff;
}
.holo-footer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 10px;
  border-top: 1px solid #26313b;
}
.holo-btn-primary {
  background: linear-gradient(180deg, #00b4d8 0%, #0077b6 100%);
  border: 1px solid #00e5ff;
  color: #ffffff;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 8px 18px;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}
.holo-btn-primary:hover:not(:disabled) {
  background: linear-gradient(180deg, #00c6eb 0%, #0088cc 100%);
  box-shadow: 0 0 12px rgba(0, 229, 255, 0.5);
}
.holo-btn-primary:disabled {
  background: #141a20;
  border-color: #26313b;
  color: #5d7388;
  cursor: not-allowed;
}
.holo-btn-secondary {
  background: #171224;
  border: 1px solid #2d3842;
  color: #8da4b8;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  transition: all 0.15s ease;
}
.holo-btn-secondary:hover:not(:disabled) {
  background: #222c35;
  color: #ffffff;
}
.holo-btn-secondary:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.btn-flash-synth-apply {
  min-width: 190px;
  height: 33px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center !important;
  background-size: 100% 100% !important;
  border: none !important;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
  padding: 0 16px;
}
.btn-flash-synth-apply:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
  filter: brightness(1.1);
  box-shadow: 0 0 16px rgba(0, 255, 136, 0.6);
}
.btn-flash-synth-apply:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
  transform: translateY(1px);
}
.btn-flash-synth-apply:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png') !important;
  cursor: not-allowed;
  filter: grayscale(0.6);
  box-shadow: none;
}

/* ========================================================================== */
/* §49. SPEDIZIONI NELL'ABISSO: LANCIO SPEDIZIONE (DARKORBIT 1:1 PARITY)       */
/* ========================================================================== */
.do-expedition-window,
.do-expedition-launch-window {
  width: 560px;
  min-width: 480px;
  max-width: 800px;
  min-height: 460px;
  max-height: 800px;
  background: #0d0f14;
  border: 1px solid #f59e0b;
  border-radius: 4px;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.95), 0 8px 32px rgba(245, 158, 11, 0.25);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  z-index: 105;
  display: flex;
  flex-direction: column;
}
.do-expedition-window.kr-win-minimized .expedition-body,
.do-expedition-window.kr-win-minimized .expedition-content {
  display: none !important;
}
.do-expedition-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-expedition-header-grip:hover {
  opacity: 1;
}

.btn-flash-exp-launch {
  width: 100%;
  height: 33px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center !important;
  background-size: 100% 100% !important;
  border: none !important;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  transition: filter 0.15s ease, transform 0.1s ease;
  box-sizing: border-box;
}
.btn-flash-exp-launch:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
}
.btn-flash-exp-launch:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
}
.btn-flash-exp-launch:disabled {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_long_disabled.png') !important;
  cursor: not-allowed;
  filter: grayscale(0.6);
  box-shadow: none;
}

/* ========================================================================== */
/* §50. TERMINALE SCANNER & OVERCLOCK PRE-BOSS (DARKORBIT 1:1 PARITY)           */
/* ========================================================================== */
.do-scanner-window,
.do-expedition-scanner-window {
  width: 880px;
  min-width: 740px;
  max-width: 1200px;
  min-height: 500px;
  max-height: 850px;
  background: #090d16;
  border: 1px solid #00d0ff;
  border-radius: 4px;
  box-shadow: inset 0 0 35px rgba(0, 50, 100, 0.3), 0 8px 32px rgba(0, 208, 255, 0.3);
  box-sizing: border-box;
  font-family: 'Eurostile', Arial, sans-serif;
  color: #ededed;
  display: flex;
  flex-direction: column;
}
.do-scanner-window.kr-win-minimized .scanner-modal-body,
.do-scanner-window.kr-win-minimized #scanner-content {
  display: none !important;
}
.do-scanner-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-scanner-header-grip:hover {
  opacity: 1;
}

.btn-flash-exp-extract {
  min-width: 190px;
  height: 33px;
  background: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_normal.png') no-repeat center !important;
  background-size: 100% 100% !important;
  border: none !important;
  font-family: 'Arial Black', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  color: #ffffff !important;
  letter-spacing: 0.5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.35);
  box-sizing: border-box;
}
.btn-flash-exp-extract:hover:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_over.png') !important;
}
.btn-flash-exp-extract:active:not(:disabled) {
  background-image: url('/assets/ui/darkorbit_ui/mailbox/confirmation_button_green_long_clicked.png') !important;
}

/* ========================================================================== */
/* §51. CHIAMATA ALLE ARMI DELLA FLOTTA (SUMMON PROMPT) (DARKORBIT 1:1 PARITY) */
/* ========================================================================== */
.do-summon-prompt,
.do-summon-dialog,
.do-summon-window {
  z-index: 10001;
}
.summon-prompt-frame,
.do-confirm-frame.summon-prompt-frame {
  width: 440px;
  background: #11171d;
  border: 2px solid #ffd700;
  box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.95), 0 0 35px rgba(255, 215, 0, 0.35);
  border-radius: 4px;
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  box-sizing: border-box;
}
.do-summon-header-grip {
  width: 32px;
  height: 12px;
  background: url('/assets/ui/darkorbit_ui/frames/ribbon_grip_normal.png') no-repeat center;
  background-size: contain;
  cursor: grab;
  opacity: 0.8;
  flex-shrink: 0;
}
.do-summon-header-grip:hover {
  opacity: 1;
}

.summon-prompt-header {
  display: flex;
  align-items: center;
  gap: 8px;
  border-bottom: 1px solid #23313e;
  padding-bottom: 8px;
}
.summon-prompt-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.summon-prompt-title {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 12px;
  font-weight: 900;
  color: #ffd700;
  letter-spacing: 0.6px;
}
.summon-prompt-body {
  background: #090d11;
  border: 1px solid #23313e;
  border-radius: 4px;
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 11.5px;
  line-height: 1.45;
}
.summon-highlight-gold {
  color: #ffd700;
  font-weight: bold;
}
.summon-highlight-cyan {
  color: #00e5ff;
  font-weight: bold;
}
.summon-prompt-perk {
  font-size: 10px;
  color: #7b93a8;
  margin-top: 2px;
}
.summon-prompt-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.btn-flash-120x26 {
  min-width: 120px;
  height: 26px;
  padding: 4px 14px;
  border-radius: 3px;
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  letter-spacing: 0.5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 1px 2px #000;
  transition: all 0.15s ease;
  box-sizing: border-box;
}
.btn-confirm-yes.btn-flash-120x26 {
  background: linear-gradient(180deg, #2e7d32 0%, #1b5e20 100%);
  border: 1px solid #4caf50;
  color: #ffffff;
}
.btn-confirm-yes.btn-flash-120x26:hover {
  background: linear-gradient(180deg, #388e3c 0%, #2e7d32 100%);
  box-shadow: 0 0 10px rgba(76, 175, 80, 0.6);
}
.btn-confirm-no.btn-flash-120x26 {
  background: linear-gradient(180deg, #37474f 0%, #263238 100%);
  border: 1px solid #546e7a;
  color: #cfd8dc;
}
.btn-confirm-no.btn-flash-120x26:hover {
  background: linear-gradient(180deg, #455a64 0%, #37474f 100%);
  color: #ffffff;
  border-color: #78909c;
}

/* ==========================================================================
   UNIFORMITÀ FINESTRE: header, titolo, chiusura, minimizza, limiti viewport
   Un solo aspetto per tutti i modali (riferimento: Booster / Battle Pass).
   Esclusi gli HUD compatti (minimap, chat, tracker missioni).
   ========================================================================== */
.kr-win-header:not(.minimap-header):not(.chat-header):not(.quest-tracker-header):not(.scanner-modal-header):not(.expedition-header) {
  height: 36px;
  min-height: 36px;
  box-sizing: border-box;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%);
  border-bottom: 1px solid #26313b;
}

.kr-win-header:not(.minimap-header):not(.chat-header):not(.quest-tracker-header) :is(
  .kr-win-title, .group-header-title, .skylab-header-title, .clan-header-title, .pilot-header-title,
  .quest-header-title, .mailbox-header-title, .market-header-title, .holo-modal-title,
  .calendar-header-title, .galaxygates-header-title, .bounty-header-title, .sov-header-title,
  .season-header-title, .hof-header-title, .equip-header-title, .refine-header-title,
  .shop-header-title, .oretrade-header-title
) {
  font-family: 'Arial Black', Arial, sans-serif;
  font-size: 11.5px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-shadow: 0 1px 2px #000;
}

/* Chiusura: sprite DarkOrbit (normale / hover / premuto) */
.kr-win-header .kr-win-btn.kr-win-close {
  width: 24px;
  height: 24px;
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center -24px;
  border: none;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  font-size: 0;
  color: transparent;
  flex-shrink: 0;
  cursor: pointer;
}
.kr-win-header .kr-win-btn.kr-win-close:hover {
  background: url('/assets/skylab/modules_large/close_button_sprite.png') no-repeat center 0;
  border: none;
  box-shadow: none;
}
.kr-win-header .kr-win-btn.kr-win-close:active {
  background-position: center -48px;
}

/* Minimizza: stessa dimensione ovunque */
.kr-win-header .kr-win-btn.kr-win-minimize {
  width: 20px;
  height: 20px;
}

/* Le finestre non superano mai il viewport */
.kr-floating-window {
  max-width: calc(100vw - 8px) !important;
  max-height: calc(100vh - 44px) !important;
}
@media (max-width: 1000px) {
  .kr-floating-window {
    min-width: 0 !important;
  }
}

/* Quest e Mailbox dichiarano l'header con !important: allineati agli altri modali */
.quest-modal-header.kr-win-header,
.mailbox-modal-header.kr-win-header {
  height: 36px !important;
  min-height: 36px !important;
  background: linear-gradient(180deg, #181d22 0%, #080a0c 100%) !important;
  border-bottom: 1px solid #26313b !important;
}

/* Tracker missioni (HUD compatto): chiusura in scala ridotta */
.quest-tracker-header .kr-win-btn.kr-win-close {
  width: 18px;
  height: 18px;
  background-size: 18px 72px;
  background-position: center -18px;
}
.quest-tracker-header .kr-win-btn.kr-win-close:hover {
  background-size: 18px 72px;
  background-position: center 0;
}
.quest-tracker-header .kr-win-btn.kr-win-close:active {
  background-position: center -36px;
}

/* Header a due righe (Scanner e Launch spedizione): l'altezza segue il contenuto */
.kr-win-header.scanner-modal-header,
.kr-win-header.expedition-header {
  height: auto;
  min-height: 36px;
}

/* Hangar, Raffineria, Negozio, Scambio minerali: stesso header di Posta, Scheda Pilota e Boosters */
.equip-header.kr-win-header,
.refine-header.kr-win-header,
.shop-header.kr-win-header,
.trade-window-header.kr-win-header {
  padding: 0 8px 0 10px;
  flex-shrink: 0;
  position: relative;
}
.equip-header-left,
.refinement-header-left,
.shop-header-left,
.oretrade-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.equip-header-icon,
.refinement-header-icon,
.shop-header-icon {
  width: 22px;
  height: 22px;
  object-fit: contain;
  flex-shrink: 0;
}
.equip-header-title,
.refine-header-title,
.shop-header-title,
.oretrade-header-title {
  white-space: nowrap;
}
.shop-header-badge {
  background: #0d1115;
  border: 1px solid #26313b;
  border-radius: 3px;
  padding: 2px 6px;
  font-size: 10px;
  font-weight: bold;
  color: #ffd700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
