﻿/* ==========================================================================
   Small additions shared across pages
   ========================================================================== */

/* Withdrawal fee split */
.withdraw-fee-panel {
  display: grid;
  gap: 9px;
  margin-top: 15px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(239, 246, 231, .9), rgba(255, 253, 248, .9));
}
.withdraw-fee-panel .summary-row { font-size: 10px; }
.withdraw-fee-panel .summary-row span b { color: var(--forest); font-weight: 700; }
.withdraw-fee-note { margin-top: 2px; padding-top: 8px; border-top: 1px dashed var(--line); color: var(--muted-2); font-size: 8px; line-height: 1.55; }
.withdraw-net-amount { color: var(--forest); font-family: var(--font-mono); font-size: 16px; letter-spacing: -.03em; }
.withdraw-fee-line {
  display: block;
  max-width: 180px;
  margin-top: 2px;
  color: var(--muted-2);
  font-size: 8px;
  line-height: 1.45;
}
.withdrawal-amount .withdrawal-fee-line { margin-left: auto; }
@media (max-width: 720px) {
  .withdrawal-row { align-items: flex-start; flex-wrap: wrap; }
  .withdrawal-amount { margin-left: 45px; text-align: left; }
  .withdrawal-amount .withdrawal-fee-line { margin-left: 0; }
}


.modal-card > .modal-form {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  overflow: hidden;
}
.modal-form > .modal-body { min-height: 0; overflow-y: auto; }
.modal-form > .modal-foot { margin-top: auto; }

.btn-light {
  --btn-bg: rgba(255, 255, 255, .1);
  --btn-color: #f8f7ee;
  --btn-border: rgba(255, 255, 255, .18);
}
.btn-light:hover { --btn-bg: rgba(255, 255, 255, .16); }

.order-note.success {
  border-color: #cfe4d3;
  background: #eef7ef;
  color: #4e6f58;
}
.order-note.success .icon { color: var(--green); }

.notification-item.failed { border-color: #edcbc5; }
.notification-item.failed:hover { border-color: #e5aea7; }

.success-key-box {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid #d5e5cf;
  border-radius: 13px;
  background: #f3f8ee;
  text-align: center;
}
.success-key-label {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 9px;
  letter-spacing: .03em;
}
.success-key-label .icon { width: 12px; height: 12px; color: var(--green); }
.success-key-value {
  width: 100%;
  padding: 9px 10px;
  border: 1px dashed #bdd3bb;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  color: var(--forest);
  font-family: var(--font-mono);
  font-size: 13px;
  line-height: 1.75;
  font-weight: 600;
  overflow-wrap: anywhere;
  user-select: all;
}

.qr-preview-large {
  width: min(100%, 330px);
  margin: 0 auto;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.qr-preview-large img {
  width: 100%;
  max-height: 460px;
  object-fit: contain;
  border-radius: 9px;
}
.qr-preview-button {
  position: relative;
  width: 148px;
  height: 148px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}
.qr-preview-button img { width: 100%; height: 100%; object-fit: contain; }
.qr-preview-button span {
  position: absolute;
  inset: auto 7px 7px;
  padding: 3px;
  border-radius: 5px;
  color: #fff;
  background: rgba(16, 37, 28, .72);
  font-size: 8px;
  opacity: 0;
  transition: opacity .15s;
}
.qr-preview-button:hover span { opacity: 1; }

.inline-alert a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.inline-alert .btn-text { color: inherit; }

a.page-tab { text-decoration: none; }
.page-tab:focus-visible { position: relative; z-index: 1; }

.summary-row .countdown { font-size: 12px; }

.admin-settings-layout { align-items: start; }
.admin-settings-layout > .settings-stack { min-width: 0; }
form#admin-settings-form { display: block; }
form#admin-settings-form .form-error { margin-bottom: 13px; }

/* Make standalone form error boxes in page forms sit clearly above actions */
.settings-card-body .form-error,
.setting-block-body .form-error { margin-top: 13px; }

/* Generic loading gap */
.loading-block { flex: 1; min-height: 55vh; }

/* Text cut helper used in notification bodies */
.text-clamp-1 {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Ensure generated links inside light panels stay legible */
.admin-alert-card, .admin-section-panel, .recent-panel, .withdrawal-review-list { anchor-color: inherit; }

/* Very long card secrets in modals */
.notification-message-modal,
.notification-detail-body,
.seller-reply,
.complaint-reply-block { overflow-wrap: anywhere; }

.direct-buy-hint { display:flex; align-items:center; gap:7px; margin-top:14px; padding:10px 12px; border-radius:10px; background:var(--mint-soft, #eefaf3); color:#1a7f52; font-size:11.5px; line-height:1.5; }
.direct-buy-hint svg { width:15px; height:15px; flex:none; }

.pay-exact-amount { display:flex; align-items:flex-start; gap:6px; margin-top:10px; padding:9px 11px; border-radius:9px; background:#fff5e6; color:#a35b00; font-size:11.5px; line-height:1.55; }
.pay-exact-amount svg { width:15px; height:15px; flex:none; margin-top:1px; }
.pay-exact-amount strong { color:#d97706; font-size:13px; }
