.exchange-atm-panel {
  position: fixed;
  left: 50%;
  top: 50%;
  z-index: 30;
  width: min(520px, calc(100vw - 28px));
  overflow: hidden;
  border: 2px solid rgba(255, 215, 0, 0.42);
  border-radius: 18px;
  background: rgba(7, 8, 11, 0.94);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  color: #f8fafc;
  transform: translate(-50%, -50%);
}

.exchange-atm-panel[hidden],
body.phone-focus-active .exchange-atm-panel,
body.phone-stage-active .exchange-atm-panel {
  display: none;
}

.exchange-atm-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  background: linear-gradient(90deg, rgba(255, 215, 0, 0.18), rgba(7, 8, 11, 0.2));
}

.exchange-atm-topbar strong {
  color: #ffd700;
  font-family: Orbitron, "Malgun Gothic", sans-serif;
  letter-spacing: 0.08em;
}

.exchange-atm-topbar button,
.exchange-atm-buttons button {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.07);
  color: inherit;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
}

.exchange-atm-topbar button {
  padding: 7px 10px;
  color: rgba(248, 250, 252, 0.82);
  font-size: 12px;
}

.exchange-atm-screen {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-top: 2px solid #444;
}

.exchange-atm-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.exchange-lcd {
  min-height: 62px;
  padding: 9px;
  border: 1px solid rgba(74, 222, 128, 0.26);
  border-radius: 12px;
  background: #07120b;
}

.exchange-lcd span {
  display: block;
  color: rgba(167, 243, 208, 0.66);
  font-size: 10px;
  letter-spacing: 0.08em;
}

.exchange-lcd strong {
  display: block;
  margin-top: 7px;
  color: #4ade80;
  font-family: Orbitron, "Malgun Gothic", sans-serif;
  font-size: 15px;
}

.exchange-atm-msg {
  min-height: 38px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 215, 0, 0.10);
  color: #ffe7a3;
  font-size: 13px;
  font-weight: 800;
}

.exchange-atm-buttons {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.exchange-atm-buttons button {
  min-height: 40px;
  color: #fff6d2;
}

.exchange-atm-buttons button:hover {
  border-color: rgba(255, 215, 0, 0.50);
  background: rgba(255, 215, 0, 0.14);
}

@media (max-width: 640px) {
  .exchange-atm-panel {
    top: 46%;
  }

  .exchange-atm-status,
  .exchange-atm-buttons {
    grid-template-columns: 1fr;
  }
}
