/* =========================================================
   Raid Card Polish: Tasks + Deposit UX
   ========================================================= */

.gme-raid-card .gme-requirements-title,
.gme-raid-card .gme-tasks-title {
  margin: 0 0 10px !important;
  font-family: "Orbitron", "Poppins", sans-serif !important;
  font-size: 1.08rem !important;
  letter-spacing: 0.04em !important;
  line-height: 1.25 !important;
  color: #e8f6ff !important;
  text-shadow: none !important;
}

.gme-raid-card .gme-raid-requirements {
  border-radius: 12px !important;
  border: 1px solid rgba(86, 215, 204, 0.35) !important;
  background: linear-gradient(180deg, rgba(7, 21, 28, 0.92), rgba(5, 16, 22, 0.92)) !important;
  padding: 12px 14px !important;
  margin-bottom: 14px !important;
}

.gme-raid-card .gme-raid-requirements p {
  margin: 0 !important;
  color: rgba(207, 235, 245, 0.9) !important;
  line-height: 1.5 !important;
  font-size: 0.96rem !important;
}

.gme-raid-tasks .gme-task-readonly-tip {
  display: none;
  font-size: 0.88rem;
  line-height: 1.4;
  color: rgba(189, 214, 226, 0.86);
  margin: 0 0 10px !important;
}

.gme-raid-tasks.readonly .gme-task-readonly-tip {
  display: block;
}

.gme-raid-tasks .gme-tasks-progress-bar {
  position: relative !important;
  height: 14px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(127, 213, 196, 0.45) !important;
  background: rgba(8, 18, 22, 0.88) !important;
  overflow: hidden !important;
  margin: 0 0 8px !important;
}

.gme-raid-tasks .gme-tasks-progress-fill {
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, #6dff91, #4bf7dd) !important;
  transition: width 0.25s ease;
}

.gme-raid-tasks .gme-tasks-progress-text {
  display: block !important;
  position: static !important;
  margin: 0 0 10px !important;
  text-align: right !important;
  color: rgba(173, 255, 228, 0.94) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
  pointer-events: none !important;
  z-index: auto !important;
}

.gme-raid-tasks .gme-tasks-list {
  display: grid;
  gap: 10px;
  margin-top: 0;
}

.gme-raid-tasks .gme-task-item {
  display: grid;
  grid-template-columns: 22px 1.7rem 1fr;
  align-items: center;
  column-gap: 10px;
  box-sizing: border-box;
  min-width: 0;
  padding: 11px 12px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  border: 1px solid rgba(112, 204, 184, 0.32) !important;
  border-left: 3px solid rgba(98, 244, 204, 0.92) !important;
  background: linear-gradient(180deg, rgba(8, 24, 20, 0.88), rgba(5, 16, 14, 0.88)) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.gme-raid-tasks .gme-task-item:hover {
  border-color: rgba(143, 241, 221, 0.72) !important;
  box-shadow: 0 0 0 1px rgba(116, 238, 207, 0.14) inset !important;
  background: linear-gradient(180deg, rgba(9, 28, 24, 0.92), rgba(7, 20, 17, 0.92)) !important;
}

.gme-raid-tasks .gme-task-item > * {
  grid-row: 1;
}

.gme-raid-tasks .gme-task-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border-radius: 5px;
  border: 2px solid rgba(114, 236, 198, 0.9);
  background: rgba(6, 12, 14, 0.96);
  display: grid;
  place-content: center;
  cursor: pointer;
}

.gme-raid-tasks .gme-task-checkbox:checked {
  background: #6ef3c7;
  border-color: #6ef3c7;
}

.gme-raid-tasks .gme-task-checkbox:checked::after {
  content: "\2713";
  font-size: 11px;
  line-height: 1;
  color: #032217;
  font-weight: 900;
}

.gme-raid-tasks.readonly .gme-task-checkbox {
  opacity: 0.52;
  cursor: not-allowed !important;
  filter: grayscale(0.2);
}

.gme-raid-tasks .gme-task-number {
  color: #7ff9de !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  text-shadow: none !important;
}

.gme-raid-tasks .gme-task-text {
  color: #e8f6f2 !important;
  font-size: 0.98rem !important;
  line-height: 1.35 !important;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}

.gme-raid-card .gme-deposit-info-inline {
  margin-top: 14px !important;
  margin-bottom: 12px !important;
  padding: 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(105, 188, 220, 0.4) !important;
  background: linear-gradient(180deg, rgba(8, 20, 30, 0.88), rgba(7, 16, 24, 0.88)) !important;
}

.gme-raid-card .gme-deposit-label {
  margin: 0 0 8px !important;
  color: rgba(227, 243, 254, 0.93) !important;
  font-size: 1rem !important;
  line-height: 1.35 !important;
}

.gme-raid-card .gme-address-display-inline {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border-radius: 10px !important;
  background: rgba(5, 10, 17, 0.86) !important;
  border: 1px solid rgba(98, 168, 206, 0.45) !important;
}

.gme-raid-card .gme-address-display-inline .gme-address {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  color: #8fe7ff !important;
  font-family: "JetBrains Mono", "Consolas", monospace !important;
  font-size: 0.9rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.gme-raid-card .gme-address-display-inline .gme-copy-btn {
  flex: 0 0 auto !important;
  min-width: 38px !important;
  min-height: 34px !important;
  border-radius: 8px !important;
  border: 1px solid rgba(129, 198, 232, 0.5) !important;
  background: rgba(30, 113, 151, 0.2) !important;
  color: #bcefff !important;
  padding: 6px 10px !important;
}

.gme-raid-card .gme-deposit-reminder {
  margin-bottom: 12px !important;
  padding: 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255, 188, 84, 0.5) !important;
  background: linear-gradient(180deg, rgba(37, 28, 10, 0.9), rgba(30, 23, 8, 0.92)) !important;
}

.gme-raid-card .gme-reminder-text {
  margin: 0 0 10px !important;
  color: #ffd98c !important;
  font-size: 1.02rem !important;
  line-height: 1.35 !important;
}

.gme-raid-card .gme-warning {
  border-radius: 10px !important;
  margin-top: 10px !important;
  border-color: rgba(255, 188, 84, 0.5) !important;
  background: rgba(48, 33, 9, 0.82) !important;
  color: #ffd886 !important;
}

.gme-raid-card .gme-status-awaiting {
  border-left: 3px solid #ffcf70 !important;
  background: rgba(67, 47, 13, 0.42) !important;
}

.gme-raid-card .gme-raid-actions {
  display: grid !important;
  gap: 10px !important;
}

.gme-raid-card .gme-raid-submission-box {
  margin: 12px 0 !important;
  padding: 12px !important;
  border-radius: 12px !important;
  border: 1px solid rgba(92, 204, 220, 0.42) !important;
  background: linear-gradient(180deg, rgba(7, 20, 28, 0.88), rgba(6, 14, 22, 0.9)) !important;
}

.gme-raid-card .gme-raid-submission-title {
  margin: 0 0 8px !important;
  color: #b8f4ff !important;
  font-weight: 700 !important;
}

.gme-raid-card .gme-raid-submission-link {
  display: inline-block !important;
  margin-bottom: 10px !important;
  color: #7eeeff !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
}

.gme-raid-card .gme-raid-submission-empty {
  display: block !important;
  margin-bottom: 10px !important;
  color: #9bb8c7 !important;
}

.gme-raid-card .gme-action-btn {
  justify-content: center !important;
  min-height: 46px !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  letter-spacing: 0.04em !important;
  font-size: 0.98rem !important;
  font-family: "Poppins", "Orbitron", sans-serif !important;
}

.gme-raid-card .gme-action-btn .gme-btn-icon {
  font-size: 1rem !important;
  line-height: 1 !important;
}

.gme-raid-card .gme-btn-show-deposit {
  background: linear-gradient(135deg, #ffb11a, #f08212) !important;
  color: #111007 !important;
  border: 1px solid rgba(255, 195, 92, 0.95) !important;
  box-shadow: 0 0 0 1px rgba(255, 185, 72, 0.28), 0 6px 16px rgba(0, 0, 0, 0.28) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.gme-raid-card .gme-btn-show-deposit:hover {
  background: linear-gradient(135deg, #ffc33f, #f28f2b) !important;
  color: #0d0b05 !important;
}

.gme-raid-card .gme-btn-verify-deposit {
  background: linear-gradient(135deg, #0f6a52, #0cae84) !important;
  color: #f4fff9 !important;
  border: 1px solid rgba(120, 255, 212, 0.9) !important;
  box-shadow: 0 0 0 1px rgba(102, 255, 201, 0.25), 0 6px 16px rgba(0, 0, 0, 0.3) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
}

.gme-raid-card .gme-btn-verify-deposit:hover {
  background: linear-gradient(135deg, #118063, #13bf93) !important;
  color: #ffffff !important;
}

.gme-raid-card .gme-btn-show-deposit .gme-btn-icon,
.gme-raid-card .gme-btn-verify-deposit .gme-btn-icon {
  font-size: 1.05rem !important;
}

.gme-raid-card .gme-btn-applications {
  background: linear-gradient(135deg, #0f6f61, #14b9a6) !important;
  color: #f2fffb !important;
  border: 1px solid rgba(126, 255, 227, 0.9) !important;
  box-shadow: 0 0 0 1px rgba(120, 255, 220, 0.2), 0 8px 18px rgba(0, 0, 0, 0.3) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.gme-raid-card .gme-btn-applications:hover {
  background: linear-gradient(135deg, #137d6e, #18ccb7) !important;
  color: #ffffff !important;
}

.gme-raid-card .gme-btn-request-refund {
  background: linear-gradient(135deg, #157664, #19c8b1) !important;
  color: #f3fffb !important;
  border: 1px solid rgba(132, 255, 228, 0.9) !important;
  box-shadow: 0 0 0 1px rgba(124, 255, 222, 0.2), 0 8px 18px rgba(0, 0, 0, 0.3) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.gme-raid-card .gme-btn-request-refund:hover {
  background: linear-gradient(135deg, #1b8a76, #1fd7bf) !important;
  color: #ffffff !important;
}

.gme-raid-card .gme-btn-applications .gme-btn-icon,
.gme-raid-card .gme-btn-request-refund .gme-btn-icon {
  color: #d9fff5 !important;
}

.gme-raid-card .gme-btn-upload-submission {
  background: linear-gradient(135deg, #2053d0, #2c8fff) !important;
  color: #f5fbff !important;
  border: 1px solid rgba(146, 204, 255, 0.9) !important;
  box-shadow: 0 0 0 1px rgba(130, 190, 255, 0.22), 0 8px 18px rgba(0, 0, 0, 0.3) !important;
  font-weight: 800 !important;
}

.gme-raid-card .gme-btn-upload-submission:hover {
  background: linear-gradient(135deg, #2b63eb, #3aa1ff) !important;
  color: #ffffff !important;
}

.gme-raid-card .gme-btn-delete-raid {
  background: linear-gradient(135deg, #ff5a6e, #e63d54) !important;
  color: #fff !important;
}

.gme-raid-card .gme-btn-delete-raid .gme-btn-icon {
  display: none !important;
}

@media (max-width: 768px) {
  .gme-raid-card .gme-requirements-title,
  .gme-raid-card .gme-tasks-title {
    font-size: 1rem !important;
  }

  .gme-raid-card .gme-action-btn {
    width: 100% !important;
    font-size: 0.95rem !important;
    min-height: 44px !important;
  }
}

/* =========================================================
   Deposit Modal Cleanup
   ========================================================= */
#gme-deposit-info-modal .gme-modal,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal {
  width: min(92vw, 520px) !important;
  max-width: min(92vw, 520px) !important;
  box-sizing: border-box !important;
  max-height: calc(100dvh - 20px) !important;
  overflow: hidden !important;
  margin: 0 auto !important;
  padding: 18px 18px 28px !important;
  border-radius: 14px !important;
  position: relative !important;
  flex-shrink: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

#gme-deposit-info-modal .gme-modal::-webkit-scrollbar,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

#gme-deposit-info-modal .gme-modal-content,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal-content {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  touch-action: pan-y !important;
  padding-bottom: 10px !important;
}

#gme-deposit-info-modal.gme-modal-overlay,
.gme-modal-overlay#gme-deposit-info-modal {
  position: fixed !important;
  inset: 0 !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: max(10px, env(safe-area-inset-top)) 10px max(24px, env(safe-area-inset-bottom)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  overscroll-behavior: contain !important;
  touch-action: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

#gme-deposit-info-modal .gme-modal-title,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal-title {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  text-align: center !important;
  margin: 0 0 14px !important;
  padding: 10px 46px 0 12px !important; /* reserve room for close button at top-right */
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
  line-height: 1.15 !important;
  letter-spacing: 0.015em !important;
  font-size: clamp(1rem, 4.6vw, 1.7rem) !important;
}

#gme-deposit-info-modal .gme-modal-title .gme-icon,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal-title .gme-icon {
  margin-right: 8px !important;
}

#gme-deposit-info-modal .gme-deposit-instruction,
#gme-deposit-info-modal .gme-warning,
#gme-deposit-info-modal .gme-token-info,
#gme-deposit-info-modal .gme-token-info p,
#gme-deposit-info-modal .gme-token-info code,
#gme-deposit-info-modal .gme-address {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

#gme-deposit-info-modal .gme-address-display {
  min-width: 0 !important;
}

#gme-deposit-info-modal .gme-token-info,
#gme-deposit-info-modal .gme-warning {
  overflow: hidden !important;
}

#gme-deposit-info-modal .gme-modal-close,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal-close {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(116, 255, 122, 0.8) !important;
  background: rgba(10, 16, 24, 0.95) !important;
  color: #e8fff0 !important;
  font-size: 22px !important;
  line-height: 1 !important;
  transform: none !important;
  z-index: 100060 !important;
  box-shadow: 0 0 0 1px rgba(116, 255, 122, 0.25), 0 0 12px rgba(116, 255, 122, 0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#gme-deposit-info-modal .gme-modal-close:hover,
.gme-modal-overlay#gme-deposit-info-modal .gme-modal-close:hover {
  transform: none !important;
  border-color: #a7ffac !important;
  background: rgba(16, 24, 34, 0.98) !important;
  color: #ffffff !important;
}

#gme-deposit-info-modal .gme-btn-verify-deposit,
.gme-modal-overlay#gme-deposit-info-modal .gme-btn-verify-deposit {
  background: linear-gradient(135deg, #14d6a0, #19f27c) !important;
  color: #052115 !important;
  border: 1px solid rgba(144, 255, 205, 0.95) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.035em !important;
  box-shadow: 0 0 0 1px rgba(120, 255, 194, 0.24), 0 8px 18px rgba(0, 0, 0, 0.32) !important;
}

#gme-deposit-info-modal .gme-btn-verify-deposit:hover,
.gme-modal-overlay#gme-deposit-info-modal .gme-btn-verify-deposit:hover {
  background: linear-gradient(135deg, #24eab2, #29ff89) !important;
  color: #03160f !important;
}

#gme-deposit-info-modal .gme-btn-verify-deposit .gme-btn-icon,
.gme-modal-overlay#gme-deposit-info-modal .gme-btn-verify-deposit .gme-btn-icon {
  color: #0b3a28 !important;
}

/* Lock page scroll while deposit modal is open */
html:has(#gme-deposit-info-modal.gme-modal-overlay.show),
body:has(#gme-deposit-info-modal.gme-modal-overlay.show) {
  overflow: hidden !important;
  height: 100% !important;
}

html.gme-modal-open,
html.gme-modal-open body {
  overflow: hidden !important;
  height: 100% !important;
}

body:has(#gme-deposit-info-modal.gme-modal-overlay.show),
html.gme-modal-open body {
  position: static !important;
  width: auto !important;
}

@media (max-width: 480px) {
  #gme-deposit-info-modal .gme-modal,
  .gme-modal-overlay#gme-deposit-info-modal .gme-modal {
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    padding: 14px 12px 24px !important;
  }

  #gme-deposit-info-modal .gme-modal-title,
  .gme-modal-overlay#gme-deposit-info-modal .gme-modal-title {
    font-size: clamp(0.92rem, 4.8vw, 1.35rem) !important;
    gap: 8px !important;
  }

  #gme-deposit-info-modal .gme-modal-content,
  .gme-modal-overlay#gme-deposit-info-modal .gme-modal-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 12px !important;
  }
}

@media (max-width: 900px) {
  #gme-deposit-info-modal .gme-modal,
  .gme-modal-overlay#gme-deposit-info-modal .gme-modal {
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    padding-bottom: 12px !important;
  }

  #gme-deposit-info-modal .gme-modal-content,
  .gme-modal-overlay#gme-deposit-info-modal .gme-modal-content {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding-bottom: 8px !important;
  }
}
