/* Clean Power Station layout. Loaded after styles.css to isolate this menu. */
.game-window.power-window {
  width: min(1400px, 97vw) !important;
  height: min(900px, 95dvh) !important;
  max-width: none !important;
  max-height: none !important;
  border: 1px solid #46565b !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #050a0b !important;
  box-shadow: 0 28px 80px #000c, inset 0 0 0 2px #111a1d !important;
}

.power-window .window-titlebar {
  display: none !important;
}

.power-window .window-content {
  width: 100%;
  height: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #050a0b !important;
}

.refpower-screen {
  box-sizing: border-box;
  width: 100%;
  min-width: 0 !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 14px !important;
  display: grid !important;
  grid-template-rows: 76px minmax(0, 1fr) !important;
  gap: 12px !important;
  color: #edf3ef;
  background:
    radial-gradient(circle at 15% 0%, rgb(21 107 130 / 20%), transparent 38%),
    linear-gradient(145deg, #071012, #030607 70%) !important;
}

.refpower-screen *,
.refpower-screen *::before,
.refpower-screen *::after {
  box-sizing: border-box;
}

.refpower-screen::before {
  display: none !important;
}

.refpower-header {
  min-width: 0;
  min-height: 0;
  padding: 0 12px !important;
  border: 1px solid #405156 !important;
  border-radius: 12px !important;
  display: grid !important;
  grid-template-columns: auto minmax(100px, 1fr) 52px !important;
  gap: 18px !important;
  align-items: center;
  background: linear-gradient(180deg, #172327, #0a1113) !important;
  box-shadow: inset 0 1px #64727655, 0 5px 14px #0008 !important;
}

.refpower-header::after,
.refpower-frame::after {
  display: none !important;
}

.refpower-brand {
  min-width: 0;
  height: 100%;
  gap: 12px !important;
  display: flex !important;
  align-items: center;
}

.refpower-emblem {
  width: 54px !important;
  height: 54px !important;
  margin: 0 !important;
  flex: none;
  border: 2px solid #a97817 !important;
  border-radius: 50% !important;
  color: #ffd53d;
  background: radial-gradient(circle, #5e3c05, #11191b 68%) !important;
  font-size: 32px !important;
  box-shadow: 0 0 14px #f2ad2444, inset 0 0 12px #000 !important;
}

.refpower-brand h2 {
  min-width: 0;
  margin: 0;
  color: #f3f6f3;
  font-size: clamp(1.35rem, 2.4vw, 2.2rem) !important;
  line-height: 1;
  letter-spacing: 0.03em;
  text-shadow: 0 2px 0 #000;
  white-space: nowrap;
}

.refpower-rail {
  height: 12px !important;
  min-width: 0;
  padding: 0 !important;
  border: 1px solid #46565a !important;
  border-radius: 99px !important;
  overflow: hidden;
  background: #040808 !important;
  box-shadow: inset 0 2px 5px #000 !important;
}

.refpower-rail > i {
  display: block !important;
  width: 42%;
  height: 100% !important;
  background: linear-gradient(90deg, #e59312, #ffd84a) !important;
  box-shadow: 0 0 10px #ffb11f;
}

.refpower-header-chips {
  display: none !important;
}

.refpower-close {
  width: 44px !important;
  height: 44px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  justify-self: end !important;
  border: 1px solid #aa5c43 !important;
  border-radius: 10px !important;
  color: #ffd1bf;
  background: linear-gradient(#a4442b, #5e1d12) !important;
  font-size: 20px !important;
  box-shadow: inset 0 1px #ffc0a244 !important;
}

.refpower-body {
  min-width: 0;
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(270px, 0.95fr) minmax(320px, 1.15fr) minmax(280px, 0.9fr) !important;
  gap: 12px !important;
  align-items: stretch !important;
}

.refpower-overview,
.refpower-mid,
.refpower-right {
  min-width: 0;
  min-height: 0;
}

.refpower-frame {
  min-width: 0;
  min-height: 0;
  padding: 12px !important;
  border: 1px solid #34484e !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: linear-gradient(160deg, #101c1f, #071012 75%) !important;
  box-shadow: inset 0 1px #58707755, 0 5px 14px #0007 !important;
}

.refpower-frame h3 {
  min-height: 36px !important;
  margin: -12px -12px 10px !important;
  padding: 0 14px !important;
  border-bottom: 1px solid #33474c !important;
  display: flex !important;
  align-items: center;
  color: #ffc43d;
  background: linear-gradient(90deg, #18272a, #0b1315) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.04em;
}

.refpower-overview {
  height: 100%;
  display: grid !important;
  grid-template-rows: 36px minmax(150px, 1fr) auto auto 62px !important;
  gap: 10px !important;
}

.refpower-plant {
  min-height: 0 !important;
  overflow: hidden !important;
  border: 1px solid #2d444a !important;
  border-radius: 10px !important;
  background: #071012 !important;
}

.refpower-plant img {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover;
  filter: saturate(1.05) contrast(1.05);
}

.refpower-level {
  min-height: 54px !important;
  padding: 8px !important;
  border: 1px solid #31464b !important;
  border-radius: 9px !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 10px !important;
  background: #081214 !important;
}

.refpower-level > strong {
  width: 42px !important;
  height: 42px !important;
  font-size: 1rem !important;
}

.refpower-level i,
.refpower-generator-row i,
.refpower-storage i,
.refpower-fuel i {
  height: 9px !important;
  border-radius: 99px !important;
  background: #020505 !important;
}

.refpower-level em {
  background: linear-gradient(90deg, #d99412, #ffd94b) !important;
}

.refpower-generator-row em,
.refpower-storage em,
.refpower-fuel em {
  background: linear-gradient(90deg, #55a616, #98e936) !important;
}

.refpower-mini-stats {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  border: 0 !important;
  background: transparent !important;
}

.refpower-mini-stats article {
  min-height: 48px !important;
  padding: 7px !important;
  border: 1px solid #2b4146 !important;
  border-radius: 8px !important;
  background: #081214 !important;
}

.refpower-mini-stats span {
  width: 24px !important;
  height: 24px !important;
}

.refpower-mini-stats small,
.refpower-generator-row span,
.refpower-generator-row small {
  font-size: 0.62rem !important;
}

.refpower-mini-stats strong {
  font-size: 0.72rem !important;
}

.refpower-upgrade {
  min-height: 0 !important;
  height: 62px !important;
  border-radius: 9px !important;
  font-size: 1rem !important;
}

.refpower-mid {
  height: 100%;
  display: grid !important;
  grid-template-rows: minmax(330px, 1.35fr) minmax(220px, 0.8fr) !important;
  gap: 12px !important;
}

.refpower-generators {
  display: grid !important;
  grid-template-rows: 36px repeat(3, minmax(82px, 1fr)) !important;
  gap: 8px !important;
}

.refpower-generator-row {
  min-height: 0 !important;
  height: auto !important;
  position: relative;
  padding: 8px !important;
  border: 1px solid #2c4146 !important;
  border-radius: 9px !important;
  grid-template-columns: 34px 88px minmax(0, 1fr) auto !important;
  gap: 8px !important;
  background: #081214 !important;
}

.refpower-generator-row > b {
  width: 32px !important;
  height: 32px !important;
  font-size: 0.7rem !important;
}

.refpower-generator-row img {
  width: 88px !important;
  height: 100% !important;
  max-height: 82px !important;
  object-fit: contain;
}

.refpower-generator-row strong {
  margin: 2px 0 !important;
  font-size: 0.9rem !important;
}

.refpower-generator-row button {
  position: static !important;
  right: auto !important;
  bottom: auto !important;
  align-self: end;
  min-width: 72px !important;
  min-height: 24px !important;
  padding: 4px 7px !important;
  font-size: 0.58rem !important;
}

.refpower-generator-locked {
  grid-template-columns: 34px minmax(0, 1fr) !important;
}

.refpower-storage {
  display: grid !important;
  grid-template-rows: 36px minmax(100px, 1fr) auto !important;
  gap: 8px !important;
}

.refpower-storage article {
  min-height: 0;
  padding: 8px !important;
  grid-template-columns: 42% minmax(0, 1fr) !important;
  border: 1px solid #2c4146 !important;
  border-radius: 9px !important;
  background: #081214 !important;
}

.refpower-storage article img,
.refpower-fuel img {
  width: 100%;
  height: 100%;
  max-height: 110px !important;
  object-fit: contain;
}

.refpower-storage strong,
.refpower-fuel strong {
  font-size: 0.95rem !important;
}

.refpower-storage-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}

.refpower-storage-actions button {
  min-height: 36px !important;
  padding: 6px !important;
  font-size: 0.6rem !important;
}

.refpower-right {
  height: 100%;
  display: grid !important;
  grid-template-rows: minmax(290px, 1.15fr) minmax(130px, 0.5fr) minmax(130px, 0.5fr) !important;
  gap: 12px !important;
}

.refpower-fuel {
  display: grid !important;
  grid-template-rows: 36px minmax(90px, 1fr) auto !important;
  gap: 8px !important;
}

.refpower-fuel article {
  min-height: 0;
  padding: 8px !important;
  grid-template-columns: 38% minmax(0, 1fr) !important;
  border: 1px solid #2c4146 !important;
  border-radius: 9px !important;
  background: #081214 !important;
}

.refpower-fuel-actions {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 6px !important;
}

.refpower-fuel-actions button {
  min-height: 38px !important;
  height: auto !important;
  padding: 6px 8px !important;
  font-size: 0.65rem !important;
}

.refpower-fuel-actions button[data-action="load-biodiesel"] {
  border-color: #e7a91e !important;
  background: linear-gradient(#dca622, #785207) !important;
}

.refpower-produced,
.refpower-bonuses {
  display: grid !important;
  grid-template-rows: 36px repeat(2, minmax(42px, 1fr)) !important;
  gap: 6px !important;
}

.refpower-produced article,
.refpower-bonuses article {
  min-height: 0 !important;
  padding: 7px !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  border: 1px solid #2b4146 !important;
  border-radius: 8px !important;
  background: #081214 !important;
}

.refpower-produced span,
.refpower-bonuses span {
  width: 26px !important;
  height: 26px !important;
}

.refpower-produced b,
.refpower-bonuses b,
.refpower-produced strong,
.refpower-bonuses strong,
.refpower-bonuses small {
  font-size: 0.67rem !important;
}

.refpower-tabs {
  display: none !important;
}

@media (max-width: 1050px) {
  .game-window.power-window {
    width: calc(100vw - 12px) !important;
    height: calc(var(--app-height, 100dvh) - 12px) !important;
  }

  .power-window .window-content,
  .refpower-screen {
    overflow: auto !important;
  }

  .refpower-screen {
    height: auto !important;
    min-height: 100% !important;
    grid-template-rows: 68px auto !important;
  }

  .refpower-body {
    overflow: visible !important;
    grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
  }

  .refpower-overview {
    min-height: 680px;
  }

  .refpower-mid,
  .refpower-right {
    min-height: 660px;
  }

  .refpower-right {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, minmax(240px, 1fr)) !important;
    grid-template-rows: minmax(280px, auto) !important;
  }
}

@media (max-width: 680px) {
  .refpower-screen {
    padding: 8px !important;
    gap: 8px !important;
  }

  .refpower-header {
    padding: 0 8px !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
  }

  .refpower-emblem {
    width: 44px !important;
    height: 44px !important;
    font-size: 25px !important;
  }

  .refpower-brand h2 {
    font-size: 1.15rem !important;
  }

  .refpower-rail {
    display: none !important;
  }

  .refpower-close {
    width: 40px !important;
    height: 40px !important;
  }

  .refpower-body {
    display: block !important;
  }

  .refpower-overview,
  .refpower-mid,
  .refpower-right {
    min-height: 0;
    margin-bottom: 10px;
  }

  .refpower-overview {
    height: auto;
    grid-template-rows: 36px 230px auto auto 62px !important;
  }

  .refpower-mid,
  .refpower-right {
    height: auto;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }

  .refpower-generators {
    min-height: 440px;
  }

  .refpower-storage,
  .refpower-fuel,
  .refpower-produced,
  .refpower-bonuses {
    min-height: 220px;
  }
}
