:root {
    --ink: #0c1720;
    --ink-2: #132833;
    --cream: #f6f1e7;
    --paper: #fffdf8;
    --gold: #c9a66b;
    --gold-light: #ead5ae;
    --muted: #71808a;
    --line: rgba(12, 23, 32, .1);
    --success: #23725b;
    --danger: #a63d3d;
    --shadow: 0 30px 90px rgba(6, 20, 28, .18);
    --radius-xl: 32px;
    --radius-lg: 22px;
    --radius-md: 14px;
}

/* PWA & notification administration — v2.17.46 */
[data-pwa-image-preview][hidden],
[data-pwa-customer-target][hidden],
[data-pwa-runner-retry][hidden] {
  display: none !important;
}

.pwa-admin-main {
  max-width: 1540px;
}

.pwa-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-bottom: 22px;
}

.pwa-admin-stats article {
  display: grid;
  gap: 5px;
  padding: 20px;
  border: 1px solid #dde4e3;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 30px rgba(17, 43, 52, 0.06);
}

.pwa-admin-stats span,
.pwa-admin-stats small,
.pwa-admin-form small,
.pwa-admin-table small,
.pwa-key-panel small,
.pwa-compose-actions small {
  color: #738087;
  font-size: 0.78rem;
  line-height: 1.45;
}

.pwa-admin-stats strong {
  color: #132b34;
  font-family: "Manrope", sans-serif;
  font-size: 1.55rem;
}

.pwa-admin-card {
  margin-bottom: 24px;
  scroll-margin-top: 92px;
}

.pwa-admin-card .admin-card-head {
  align-items: flex-start;
  gap: 18px;
}

.pwa-branding-grid,
.pwa-push-setup-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 24px;
  align-items: start;
}

.pwa-admin-form,
.pwa-compose-form,
.pwa-key-panel,
.pwa-upload-panel {
  display: grid;
  gap: 16px;
}

.pwa-admin-form label,
.pwa-compose-form label,
.pwa-key-panel label {
  display: grid;
  gap: 7px;
}

.pwa-admin-form label > span,
.pwa-compose-form label > span,
.pwa-key-panel label > span {
  color: #273e46;
  font-size: 0.82rem;
  font-weight: 800;
}

.pwa-admin-form input[type="text"],
.pwa-admin-form input[type="email"],
.pwa-compose-form input,
.pwa-compose-form select,
.pwa-compose-form textarea,
.pwa-key-panel input[type="email"],
.pwa-key-panel textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #cfd8d8;
  border-radius: 11px;
  color: #172d35;
  background: #fff;
  font: inherit;
}

.pwa-compose-form textarea,
.pwa-key-panel textarea {
  resize: vertical;
}

.pwa-colour-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pwa-colour-grid input[type="color"] {
  width: 100%;
  height: 48px;
  padding: 4px;
  border: 1px solid #cfd8d8;
  border-radius: 11px;
  background: #fff;
}

.pwa-check {
  display: flex !important;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  gap: 10px !important;
  padding: 12px 14px;
  border-radius: 11px;
  background: #f5f8f7;
}

.pwa-check input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: #ed5a21;
}

.pwa-danger-check {
  background: #fff2ef;
}

.pwa-brand-preview {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 280px;
  padding: 28px;
  border-radius: 24px;
  text-align: center;
  background: linear-gradient(160deg, var(--pwa-preview-bg), #fff);
  box-shadow: inset 0 0 0 1px rgba(17, 48, 57, 0.1);
}

.pwa-brand-preview img {
  border-radius: 26%;
  box-shadow: 0 16px 34px rgba(13, 32, 40, 0.22);
}

.pwa-brand-preview strong {
  color: var(--pwa-preview-theme);
  font-family: "Manrope", sans-serif;
  font-size: 1.05rem;
}

.pwa-brand-preview small {
  color: #6f7d82;
}

.pwa-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.pwa-upload-panel,
.pwa-key-panel,
.pwa-guidance,
.pwa-campaign-runner {
  padding: 20px;
  border: 1px solid #dbe3e2;
  border-radius: 16px;
  background: #f9fbfa;
}

.pwa-upload-panel h3,
.pwa-key-panel h3 {
  margin: 0;
  color: #1a343d;
}

.pwa-upload-panel p,
.pwa-key-panel p,
.pwa-guidance p,
.pwa-campaign-runner p {
  margin: 0;
  color: #627278;
  font-size: 0.84rem;
  line-height: 1.55;
}

.pwa-inline-upload {
  display: grid;
  gap: 12px;
}

.pwa-inline-upload input[type="file"] {
  width: 100%;
  padding: 10px;
  border: 1px dashed #b9c8c7;
  border-radius: 11px;
  background: #fff;
}

.pwa-inline-upload img,
.pwa-current-splash {
  display: block;
  width: min(100%, 220px);
  max-height: 260px;
  margin-inline: auto;
  border-radius: 14px;
  object-fit: contain;
  background: #e9eeec;
}

.pwa-reset-form,
.pwa-key-form {
  display: grid;
  gap: 12px;
}

.pwa-guidance {
  display: grid;
  gap: 5px;
  margin-bottom: 20px;
  border-color: #c8dfe8;
  background: #f0f9fc;
}

.pwa-push-setup-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pwa-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: #5a6870;
  background: #edf1f0;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.05em;
}

.pwa-status-enabled,
.pwa-status-active,
.pwa-status-completed {
  color: #16643f;
  background: #e3f7eb;
}

.pwa-status-sending,
.pwa-status-queued {
  color: #075d7a;
  background: #e1f3fa;
}

.pwa-status-failed,
.pwa-status-expired,
.pwa-status-cancelled,
.pwa-status-admin-disabled,
.pwa-status-key-rotated {
  color: #9b3124;
  background: #fdeae6;
}

.pwa-compose-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.pwa-compose-message {
  grid-column: 1 / -1;
}

.pwa-compose-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.pwa-table-wrap {
  overflow-x: auto;
}

.pwa-admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 980px;
}

.pwa-admin-table th,
.pwa-admin-table td {
  padding: 13px 12px;
  border-bottom: 1px solid #e3e8e7;
  text-align: left;
  vertical-align: top;
  font-size: 0.82rem;
}

.pwa-admin-table th {
  color: #6b7a80;
  font-size: 0.71rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pwa-admin-table td > strong,
.pwa-admin-table td > small {
  display: block;
  max-width: 340px;
}

.pwa-admin-table td > small {
  margin-top: 4px;
  overflow-wrap: anywhere;
}

.pwa-row-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.pwa-row-actions form {
  margin: 0;
}

.pwa-row-actions .secondary-button {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 0.73rem;
  text-decoration: none;
}

.pwa-row-actions .text-button {
  padding: 6px;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 800;
  cursor: pointer;
}

.pwa-row-actions .danger,
.pwa-reset-form .danger {
  color: #b43e2c;
}

.pwa-campaign-runner {
  display: grid;
  gap: 10px;
  margin-bottom: 18px;
  border-color: #a8d4e3;
  background: #eef9fd;
}

.pwa-campaign-runner.has-error {
  border-color: #efb6ad;
  background: #fff3f0;
}

.pwa-progress {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #d7e4e6;
}

.pwa-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff6b00, #ff2d00);
  transition: width 220ms ease;
}

@media (max-width: 980px) {
  .pwa-admin-stats,
  .pwa-upload-grid,
  .pwa-push-setup-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pwa-branding-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 660px) {
  .pwa-admin-stats,
  .pwa-upload-grid,
  .pwa-push-setup-grid,
  .pwa-compose-grid,
  .pwa-colour-grid {
    grid-template-columns: 1fr;
  }

  .pwa-compose-message {
    grid-column: auto;
  }

  .pwa-compose-actions {
    align-items: stretch;
    flex-direction: column;
  }
}

/* PWA & Notifications control-centre layout — v2.17.47 */
.pwa-admin-main {
  --pwa-border: #dfe6e4;
  --pwa-soft: #f6f9f8;
  --pwa-navy: #16313a;
  --pwa-orange: #ed5a21;
  --pwa-blue: #eaf6fa;
  max-width: 1540px;
}

.admin-header.pwa-page-header {
  align-items: center;
  margin-bottom: 18px;
}

.admin-header.pwa-page-header p {
  max-width: 760px;
  color: #5f7077;
  line-height: 1.6;
}

.pwa-header-meta {
  display: grid;
  min-width: 150px;
  gap: 4px;
  padding: 13px 16px;
  border: 1px solid var(--pwa-border);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  text-align: right;
}

.pwa-header-meta span {
  color: #849096;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.pwa-header-meta strong {
  color: var(--pwa-navy);
  font: 800 14px Manrope, sans-serif;
}

.pwa-section-nav {
  position: sticky;
  top: 82px;
  z-index: 30;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  margin: 0 0 18px;
  padding: 7px;
  border: 1px solid rgba(18,49,58,.1);
  border-radius: 16px;
  background: rgba(255,253,248,.92);
  box-shadow: 0 12px 30px rgba(18,36,44,.08);
  backdrop-filter: blur(16px);
}

.pwa-section-nav a {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: 11px;
  color: #586a71;
  font-size: 12px;
  font-weight: 800;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease;
}

.pwa-section-nav a:hover,
.pwa-section-nav a[aria-current="true"] {
  color: var(--pwa-navy);
  background: #fff;
  box-shadow: 0 6px 17px rgba(18,42,50,.08);
}

.pwa-section-nav a[aria-current="true"] {
  box-shadow: inset 0 -2px 0 var(--pwa-orange), 0 6px 17px rgba(18,42,50,.08);
}

.pwa-section-nav b {
  display: grid;
  flex: 0 0 25px;
  place-items: center;
  width: 25px;
  height: 25px;
  border-radius: 8px;
  color: #8a6a3b;
  background: #f7eddc;
  font-size: 9px;
}

.pwa-admin-stats {
  gap: 14px;
  margin-bottom: 24px;
}

.pwa-admin-stats .pwa-stat-card {
  position: relative;
  min-height: 164px;
  align-content: start;
  gap: 7px;
  padding: 18px;
  overflow: hidden;
  border-color: var(--pwa-border);
  border-radius: 17px;
  background: linear-gradient(145deg, #fff, #fbfcfb);
  box-shadow: 0 10px 28px rgba(17,43,52,.055);
}

.pwa-stat-card::after {
  content: "";
  position: absolute;
  width: 82px;
  height: 82px;
  right: -35px;
  bottom: -42px;
  border-radius: 50%;
  background: rgba(237,90,33,.07);
}

.pwa-stat-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pwa-stat-top i {
  display: grid;
  flex: 0 0 30px;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  color: #a94a26;
  background: #fff0e9;
  font: normal 900 11px Manrope, sans-serif;
}

.pwa-admin-stats .pwa-stat-card > strong {
  font-size: clamp(1.3rem, 2vw, 1.7rem);
}

.pwa-stat-card > a {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  margin-top: auto;
  color: #9b542d;
  font-size: 11px;
  font-weight: 900;
}

.admin-card.pwa-admin-card {
  margin: 0 0 26px;
  scroll-margin-top: 154px;
  border-color: rgba(17,42,50,.08);
  border-radius: 20px;
  box-shadow: 0 18px 52px rgba(18,35,43,.07);
}

.admin-card-head.pwa-section-head {
  align-items: flex-start;
  padding: 24px 26px;
  background: linear-gradient(135deg, #fffdfa, #fbfaf6);
}

.pwa-section-title {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 16px;
}

.pwa-section-title > div {
  min-width: 0;
}

.pwa-section-index {
  display: grid;
  flex: 0 0 42px;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid #eadcc3;
  border-radius: 13px;
  color: #9a6b31;
  background: #fff8eb;
  font: 900 11px Manrope, sans-serif;
  letter-spacing: .06em;
}

.pwa-section-head .card-kicker {
  display: block;
  margin-bottom: 5px;
  color: #ab7540;
  font-size: 10px;
  letter-spacing: .16em;
}

.admin-card.pwa-admin-card .pwa-section-head h2 {
  margin-bottom: 5px;
  color: var(--pwa-navy);
  font-size: 20px;
}

.pwa-section-head p {
  max-width: 820px;
  color: #66767c !important;
  line-height: 1.55;
}

.pwa-section-state,
.pwa-section-count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  min-height: 32px;
  padding: 7px 11px;
  border: 1px solid #ded8ce;
  border-radius: 999px;
  color: #715d3e;
  background: #fffaf0;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.pwa-card-body {
  padding: 26px;
}

.pwa-card-body-table {
  padding: 22px 24px 24px;
}

.pwa-surface-panel,
.pwa-upload-panel,
.pwa-key-panel,
.pwa-notification-preview,
.pwa-audience-panel {
  border: 1px solid var(--pwa-border);
  border-radius: 16px;
  background: #fbfcfb;
}

.pwa-surface-panel,
.pwa-key-panel {
  padding: 20px;
}

.pwa-panel-heading,
.pwa-upload-head,
.pwa-subsection-heading,
.pwa-notification-preview-head,
.pwa-runner-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.pwa-panel-heading > div > span,
.pwa-subsection-heading > div > span,
.pwa-notification-preview-head > span {
  display: block;
  margin-bottom: 4px;
  color: #9a7045;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .12em;
}

.pwa-admin-card .pwa-panel-heading h3,
.pwa-admin-card .pwa-subsection-heading h3,
.pwa-upload-head h3 {
  margin: 0;
  color: var(--pwa-navy);
  font: 800 16px/1.3 Manrope, sans-serif;
}

.pwa-panel-heading > small,
.pwa-subsection-heading > p,
.pwa-notification-preview-head small {
  max-width: 300px;
  color: #7b898f;
  font-size: 11px;
  line-height: 1.45;
  text-align: right;
}

.pwa-branding-grid {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  gap: 20px;
}

.pwa-admin-form,
.pwa-compose-form,
.pwa-key-panel,
.pwa-upload-panel {
  gap: 15px;
}

.pwa-admin-form label,
.pwa-compose-form label,
.pwa-key-panel label,
.pwa-audience-panel label {
  display: grid;
  gap: 7px;
}

.pwa-admin-form label > span,
.pwa-compose-form label > span,
.pwa-key-panel label > span,
.pwa-audience-panel label > span {
  color: #334a52;
  font-size: 11px;
  font-weight: 900;
}

.pwa-admin-form input[type="text"],
.pwa-admin-form input[type="email"],
.pwa-compose-form input,
.pwa-compose-form select,
.pwa-compose-form textarea,
.pwa-key-panel input[type="email"],
.pwa-key-panel textarea,
.pwa-audience-panel input,
.pwa-audience-panel select {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px;
  border: 1px solid #cfd8d8;
  border-radius: 11px;
  outline: 0;
  color: #172d35;
  background: #fff;
  font: inherit;
  transition: border-color .18s ease, box-shadow .18s ease;
}

.pwa-admin-form input:focus,
.pwa-compose-form input:focus,
.pwa-compose-form select:focus,
.pwa-compose-form textarea:focus,
.pwa-key-panel input:focus,
.pwa-key-panel textarea:focus,
.pwa-audience-panel input:focus,
.pwa-audience-panel select:focus {
  border-color: #c9a66b;
  box-shadow: 0 0 0 4px rgba(201,166,107,.13);
}

.pwa-admin-form small,
.pwa-compose-form small,
.pwa-key-panel small,
.pwa-audience-panel small {
  color: #78868b;
  font-size: 11px;
  line-height: 1.5;
}

.pwa-check {
  border: 1px solid #e0e8e5;
  background: #f3f8f6;
}

.pwa-check > span {
  display: grid;
  gap: 3px;
}

.pwa-check > span strong,
.pwa-check > span small {
  display: block;
}

.pwa-check > span strong {
  color: #2b464e;
  font-size: 12px;
}

.pwa-check input:disabled + span {
  opacity: .58;
}

.pwa-danger-check {
  border-color: #f0c9c2;
  background: #fff3f0;
}

.pwa-form-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 2px;
}

.pwa-admin-card .primary-button,
.pwa-admin-card .secondary-button {
  display: inline-flex;
  width: auto;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 9px 16px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
}

.pwa-admin-card .primary-button {
  height: auto;
  border: 1px solid #142d36;
  color: #fff;
  background: #142d36;
  box-shadow: 0 10px 24px rgba(14,37,45,.16);
}

.pwa-admin-card .primary-button:hover {
  background: #1c3c47;
}

.pwa-admin-card .primary-button:disabled,
.pwa-admin-card .secondary-button:disabled {
  cursor: not-allowed;
  opacity: .48;
}

.pwa-admin-card .secondary-button {
  border: 1px solid #cfb482;
  color: #765626;
  background: #fff9ee;
  box-shadow: none;
  text-decoration: none;
}

.pwa-admin-card .secondary-button:hover {
  background: #f9efd9;
}

.pwa-admin-card .text-button {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  justify-content: center;
  padding: 6px 8px;
  border: 0;
  color: #49626b;
  background: transparent;
  font: 800 11px DM Sans, sans-serif;
}

.pwa-brand-preview {
  min-height: 390px;
  align-content: start;
  gap: 13px;
  padding: 20px;
  border: 1px solid var(--pwa-border);
  border-radius: 16px;
  background: linear-gradient(160deg, var(--pwa-preview-bg), #fff);
  box-shadow: none;
}

.pwa-preview-label {
  justify-self: start;
  padding: 6px 9px;
  border-radius: 999px;
  color: #6e7f85;
  background: rgba(255,255,255,.72);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.pwa-phone-preview {
  position: relative;
  display: grid;
  width: min(100%, 235px);
  min-height: 300px;
  place-items: center;
  align-content: center;
  gap: 9px;
  padding: 34px 20px 25px;
  border: 7px solid #1b3038;
  border-radius: 34px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 22px 45px rgba(18,40,48,.17);
}

.pwa-phone-preview > span {
  position: absolute;
  top: 8px;
  width: 52px;
  height: 5px;
  border-radius: 999px;
  background: #1b3038;
}

.pwa-phone-preview img {
  width: 96px;
  height: 96px;
  border-radius: 24%;
  box-shadow: 0 14px 28px rgba(13,32,40,.18);
}

.pwa-phone-preview strong {
  color: var(--pwa-preview-theme);
  font: 800 14px Manrope, sans-serif;
}

.pwa-phone-preview small {
  color: #7b898e;
  font-size: 10px;
}

.pwa-subsection-heading {
  align-items: flex-end;
  margin: 26px 1px 12px;
}

.pwa-subsection-heading p {
  margin: 0;
}

.pwa-upload-grid {
  gap: 16px;
  margin-top: 0;
}

.pwa-upload-panel {
  align-content: start;
  padding: 19px;
  background: #fbfcfb;
}

.pwa-upload-head {
  justify-content: flex-start;
  align-items: center;
}

.pwa-upload-icon {
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: #9b552e;
  background: #fff0e8;
  font: 900 12px Manrope, sans-serif;
}

.pwa-asset-status {
  display: block;
  margin-top: 3px;
  color: #75858b;
  font-size: 10px;
  font-weight: 700;
}

.pwa-current-asset,
.pwa-empty-asset {
  display: flex;
  min-height: 86px;
  align-items: center;
  gap: 13px;
  padding: 12px;
  border: 1px solid #e1e7e5;
  border-radius: 13px;
  background: #fff;
}

.pwa-current-asset img {
  flex: 0 0 auto;
  width: 60px;
  height: 60px;
  border-radius: 14px;
  object-fit: contain;
  background: #edf1ef;
}

.pwa-current-splash img {
  width: 54px;
  height: 76px;
  border-radius: 10px;
}

.pwa-current-asset.pwa-current-splash {
  width: 100%;
  max-height: none;
  margin-inline: 0;
}

.pwa-current-asset span,
.pwa-current-asset small,
.pwa-empty-asset strong,
.pwa-empty-asset small {
  display: block;
}

.pwa-current-asset span,
.pwa-empty-asset strong {
  color: #2b444c;
  font-size: 12px;
  font-weight: 900;
}

.pwa-current-asset small,
.pwa-empty-asset small {
  margin-top: 4px;
  color: #7a898e;
  font-size: 10px;
}

.pwa-empty-asset > span {
  display: grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px dashed #b9c7c3;
  border-radius: 12px;
  color: #83928e;
  font-size: 18px;
}

.pwa-inline-upload {
  gap: 10px;
}

.pwa-file-field {
  display: grid;
  gap: 6px;
}

.pwa-file-field > span {
  color: #445961;
  font-size: 10px;
  font-weight: 900;
}

.pwa-inline-upload input[type="file"] {
  padding: 8px;
  border: 1px dashed #b9c8c7;
  border-radius: 11px;
  color: #617178;
  background: #fff;
  font-size: 11px;
}

.pwa-inline-upload input[type="file"]::file-selector-button {
  margin-right: 9px;
  padding: 7px 10px;
  border: 0;
  border-radius: 8px;
  color: #304a52;
  background: #edf3f1;
  font-size: 10px;
  font-weight: 900;
  cursor: pointer;
}

.pwa-inline-upload img[data-pwa-image-preview] {
  width: min(100%, 180px);
  max-height: 210px;
  margin-inline: 0;
}

.pwa-inline-upload .secondary-button,
.pwa-key-form .secondary-button {
  justify-self: start;
}

.pwa-reset-form {
  justify-items: start;
  padding-top: 2px;
  border-top: 1px solid #e5e9e8;
}

.pwa-guidance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 18px;
}

.pwa-guidance {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 15px;
  border-color: #c9dfe7;
  background: #f1f9fc;
}

.pwa-guidance-icon {
  display: grid;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  color: #19627a;
  background: #dff1f7;
  font: 900 11px Manrope, sans-serif;
}

.pwa-guidance strong {
  display: block;
  margin-bottom: 3px;
  color: #24515f;
  font-size: 12px;
}

.pwa-push-setup-grid {
  gap: 16px;
}

.pwa-key-panel {
  background: #fbfcfb;
}

.pwa-key-panel textarea {
  min-height: 88px;
  color: #4b6068;
  background: #f5f7f6;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 10px;
  overflow-wrap: anywhere;
}

.pwa-mini-state {
  display: inline-flex;
  min-height: 25px;
  align-items: center;
  padding: 5px 8px;
  border-radius: 999px;
  color: #86624b;
  background: #f6ebe5;
  font-size: 9px;
  font-weight: 900;
}

.pwa-mini-state.is-on {
  color: #17613e;
  background: #e2f5e9;
}

.pwa-empty-key {
  padding: 15px;
  border: 1px dashed #d4c4a7;
  border-radius: 12px;
  background: #fffaf0;
}

.pwa-empty-key strong {
  display: block;
  margin-bottom: 4px;
  color: #795a30;
  font-size: 12px;
}

.pwa-privacy-notice,
.pwa-table-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 15px;
  border: 1px solid #f0d0c5;
  border-radius: 13px;
  background: #fff6f2;
}

.pwa-privacy-notice {
  margin-bottom: 16px;
}

.pwa-privacy-notice > span,
.pwa-table-note > span {
  display: grid;
  flex: 0 0 28px;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 9px;
  color: #9a4a2c;
  background: #fee8df;
  font-size: 11px;
  font-weight: 900;
}

.pwa-privacy-notice strong {
  display: block;
  margin-bottom: 2px;
  color: #874128;
  font-size: 12px;
}

.pwa-privacy-notice p,
.pwa-table-note p {
  margin: 0;
  color: #7d6258;
  font-size: 11px;
  line-height: 1.5;
}

.pwa-compose-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
  gap: 16px;
  align-items: start;
}

.pwa-compose-editor,
.pwa-compose-side,
.pwa-audience-panel {
  display: grid;
  gap: 15px;
}

.pwa-compose-form textarea {
  min-height: 132px;
  resize: vertical;
}

.pwa-character-count {
  justify-self: end;
}

.pwa-notification-preview {
  padding: 16px;
  background: linear-gradient(145deg, #edf2f1, #f9fbfa);
}

.pwa-notification-preview-head {
  align-items: center;
  margin-bottom: 12px;
}

.pwa-notification-preview-head > span {
  margin: 0;
}

.pwa-notification-bubble {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(19,49,58,.1);
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 12px 25px rgba(18,42,50,.1);
}

.pwa-notification-bubble img {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  object-fit: cover;
}

.pwa-notification-bubble span,
.pwa-notification-bubble strong,
.pwa-notification-bubble p,
.pwa-notification-bubble small {
  display: block;
  overflow-wrap: anywhere;
}

.pwa-notification-bubble span {
  color: #889499;
  font-size: 9px;
}

.pwa-notification-bubble strong {
  margin-top: 3px;
  color: #1c343c;
  font-size: 12px;
}

.pwa-notification-bubble p {
  margin: 4px 0;
  color: #4f646c;
  font-size: 11px;
  line-height: 1.4;
}

.pwa-notification-bubble small {
  color: #9b7142;
  font-size: 9px;
}

.pwa-audience-panel {
  padding: 16px;
}

.pwa-audience-count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 12px;
  border-radius: 11px;
  background: #eef5f3;
}

.pwa-audience-count span {
  color: #6a7a80;
  font-size: 10px;
  font-weight: 800;
}

.pwa-audience-count strong {
  color: #275448;
  font-size: 11px;
  text-align: right;
}

.pwa-compose-actions {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #e6eae9;
}

.pwa-compose-actions > small {
  max-width: 720px;
}

.pwa-empty-state {
  padding: 20px;
  border: 1px dashed #d6dedb;
  border-radius: 14px;
  text-align: center;
  background: #fafcfa;
}

.pwa-empty-state strong {
  color: #344e56;
  font-size: 13px;
}

.pwa-empty-state p {
  margin: 5px 0 0;
  color: #718087;
  font-size: 11px;
}

.pwa-campaign-runner {
  margin: 0 0 16px;
  padding: 17px;
}

.pwa-runner-heading {
  align-items: center;
}

.pwa-runner-heading > span {
  padding: 5px 8px;
  border-radius: 999px;
  color: #17617a;
  background: #dff2f8;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.pwa-table-note {
  margin-bottom: 14px;
  border-color: #d5e2e0;
  background: #f5f9f8;
}

.pwa-table-note > span {
  color: #3b6f68;
  background: #e2f0ed;
}

.pwa-table-note p {
  color: #63777a;
}

.pwa-table-wrap {
  max-height: 610px;
  overflow: auto;
  border: 1px solid #e1e7e5;
  border-radius: 14px;
  background: #fff;
}

.pwa-admin-table {
  min-width: 1040px;
}

.pwa-admin-table th,
.pwa-admin-table td {
  padding: 14px 13px;
}

.pwa-admin-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  color: #607177;
  background: #f6f8f7;
  box-shadow: inset 0 -1px 0 #e0e6e4;
}

.pwa-admin-table tbody tr {
  transition: background .15s ease;
}

.pwa-admin-table tbody tr:hover {
  background: #fbfcfb;
}

.pwa-admin-table td {
  color: #435860;
}

.pwa-admin-table td > strong,
.pwa-admin-table td > small {
  max-width: 360px;
}

.pwa-admin-table td > strong {
  color: #263f47;
  font-size: 12px;
}

.pwa-muted-link {
  color: #9a7447 !important;
}

.pwa-delivery-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.pwa-delivery-metrics span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 5px 7px;
  border-radius: 8px;
  color: #34705b;
  background: #edf7f1;
  font-size: 9px;
  font-weight: 800;
}

.pwa-delivery-metrics span.is-failed {
  color: #9b4a3a;
  background: #fff0ed;
}

.pwa-delivery-metrics strong {
  font-size: 12px;
}

.pwa-row-actions {
  gap: 6px;
}

.pwa-row-actions .secondary-button {
  min-height: 34px;
  padding: 7px 10px;
  font-size: 10px;
}

.pwa-row-actions .text-button {
  min-height: 32px;
  padding: 5px 7px;
  font-size: 10px;
}

.pwa-row-actions .danger,
.pwa-reset-form .danger {
  color: #b43e2c;
}

.pwa-empty-table-cell {
  padding: 46px 20px !important;
  text-align: center !important;
}

.pwa-empty-table-cell strong,
.pwa-empty-table-cell small {
  max-width: none !important;
}

.pwa-empty-table-cell strong {
  color: #41585f;
  font-size: 13px;
}

@media (max-width: 1120px) {
  .pwa-section-nav a {
    justify-content: center;
    padding-inline: 8px;
  }

  .pwa-section-nav a span {
    display: none;
  }

  .pwa-branding-grid,
  .pwa-compose-layout {
    grid-template-columns: 1fr;
  }

  .pwa-brand-preview {
    min-height: 360px;
  }

  .pwa-compose-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

@media (max-width: 820px) {
  .admin-header.pwa-page-header {
    align-items: flex-start;
  }

  .pwa-header-meta {
    display: none;
  }

  .pwa-section-nav {
    top: 74px;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pwa-section-nav::-webkit-scrollbar {
    display: none;
  }

  .pwa-section-nav a {
    flex: 0 0 auto;
  }

  .pwa-section-nav a span {
    display: inline;
  }

  .pwa-admin-stats,
  .pwa-upload-grid,
  .pwa-push-setup-grid,
  .pwa-guidance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-card.pwa-admin-card {
    scroll-margin-top: 142px;
  }

  .admin-card-head.pwa-section-head {
    padding: 21px;
  }

  .pwa-card-body,
  .pwa-card-body-table {
    padding: 20px;
  }
}

@media (max-width: 720px) {
  .admin-card-head.pwa-section-head {
    flex-direction: column;
  }

  .pwa-section-state,
  .pwa-section-count,
  .pwa-section-head > .pwa-status {
    margin-left: 58px;
  }

  .pwa-upload-grid,
  .pwa-push-setup-grid,
  .pwa-guidance-grid,
  .pwa-compose-side,
  .pwa-colour-grid {
    grid-template-columns: 1fr;
  }

  .pwa-panel-heading,
  .pwa-subsection-heading {
    align-items: flex-start;
    flex-direction: column;
  }

  .pwa-panel-heading > small,
  .pwa-subsection-heading > p {
    max-width: none;
    text-align: left;
  }

  .pwa-compose-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pwa-compose-actions .primary-button {
    width: 100%;
  }

  .pwa-table-wrap {
    max-height: none;
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .pwa-admin-table,
  .pwa-admin-table tbody {
    display: block;
    width: 100%;
    min-width: 0;
  }

  .pwa-admin-table thead {
    display: none;
  }

  .pwa-admin-table tbody {
    display: grid;
    gap: 13px;
  }

  .pwa-admin-table tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid #dfe6e3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(18,42,50,.05);
  }

  .pwa-admin-table td {
    display: grid;
    align-content: start;
    gap: 4px;
    padding: 12px;
    border: 0;
    border-bottom: 1px solid #edf0ef;
  }

  .pwa-admin-table td:nth-child(odd) {
    border-right: 1px solid #edf0ef;
  }

  .pwa-admin-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 3px;
    color: #8b989c;
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
  }

  .pwa-admin-table td.pwa-primary-cell,
  .pwa-admin-table td[data-label="Actions"] {
    grid-column: 1 / -1;
    border-right: 0;
  }

  .pwa-admin-table td[data-label="Actions"] {
    background: #fafcfa;
  }

  .pwa-admin-table .pwa-empty-row {
    display: block;
  }

  .pwa-admin-table .pwa-empty-table-cell {
    display: block;
    width: 100%;
    border: 0;
  }

  .pwa-empty-table-cell::before {
    display: none !important;
  }
}

@media (max-width: 500px) {
  .pwa-admin-stats {
    grid-template-columns: 1fr;
  }

  .pwa-admin-stats .pwa-stat-card {
    min-height: 144px;
  }

  .pwa-section-title {
    gap: 12px;
  }

  .pwa-section-index {
    flex-basis: 38px;
    width: 38px;
    height: 38px;
  }

  .pwa-section-state,
  .pwa-section-count,
  .pwa-section-head > .pwa-status {
    margin-left: 50px;
  }

  .admin-card-head.pwa-section-head,
  .pwa-card-body,
  .pwa-card-body-table {
    padding: 17px;
  }

  .pwa-surface-panel,
  .pwa-key-panel,
  .pwa-upload-panel {
    padding: 16px;
  }

  .pwa-phone-preview {
    width: min(100%, 220px);
  }

  .pwa-admin-table tr {
    grid-template-columns: 1fr;
  }

  .pwa-admin-table td,
  .pwa-admin-table td.pwa-primary-cell,
  .pwa-admin-table td[data-label="Actions"] {
    grid-column: auto;
    border-right: 0;
  }

  .pwa-row-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .pwa-row-actions form,
  .pwa-row-actions .secondary-button,
  .pwa-row-actions .text-button {
    width: 100%;
  }
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "DM Sans", sans-serif; color: var(--ink); background: var(--cream); }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
button { cursor: pointer; }

.customer-page {
    min-height: 100vh;
    color: white;
    background:
        radial-gradient(circle at 10% 5%, rgba(201, 166, 107, .16), transparent 28%),
        linear-gradient(135deg, #071219 0%, #0e222b 56%, #0b1a22 100%);
    overflow-x: hidden;
    position: relative;
}
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; position: relative; z-index: 2; }
.ambient { position: fixed; border-radius: 50%; filter: blur(20px); opacity: .42; pointer-events: none; }
.ambient-one { width: 420px; height: 420px; background: rgba(201,166,107,.09); right: -180px; top: 120px; }
.ambient-two { width: 320px; height: 320px; background: rgba(45,104,113,.18); left: -160px; bottom: 40px; }

.site-header { display: flex; justify-content: space-between; align-items: center; padding: 34px 0; }
.brand { display: inline-flex; align-items: center; min-width: 0; }
.brand-logo { display: block; height: auto; max-width: 100%; object-fit: contain; object-position: left center; }
.brand-logo-customer { width: 132px; }
.brand-logo-login { width: 165px; }
.brand-logo-sidebar { width: 148px; }
.brand-logo-mobile { width: min(165px, 58vw); margin-inline: auto; }
.header-meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: rgba(255,255,255,.65); }
.status-dot { width: 8px; height: 8px; border-radius: 50%; background: #6fd4ac; box-shadow: 0 0 0 6px rgba(111,212,172,.08); }

.hero-grid { display: grid; grid-template-columns: 1fr 520px; gap: 86px; align-items: center; padding: 76px 0 54px; }
.eyebrow, .card-kicker {font-size: 13px; letter-spacing: .2em; font-weight: 700; color: var(--gold-light); }
.hero-copy h1 { margin: 22px 0 26px; font-family: Manrope, sans-serif; font-size: clamp(44px, 5.5vw, 72px); line-height: 1.02; letter-spacing: -.055em; }
.hero-copy h1 em { font-family: Georgia, serif; font-weight: 400; color: var(--gold-light); }
.hero-copy > p { max-width: 610px; margin: 0; font-size: 17px; line-height: 1.8; color: rgba(255,255,255,.67); }
.hero-account-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 29px; }
.hero-account-button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border-radius: 11px; font-size: 12px; font-weight: 800; transition: .2s ease; }
.hero-account-login { border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.07); color: white; }
.hero-account-login:hover { border-color: rgba(255,255,255,.42); background: rgba(255,255,255,.12); transform: translateY(-1px); }
.hero-account-signup { border: 1px solid #d9bb83; background: linear-gradient(135deg, #ead5ae, #c9a66b); color: #132329; box-shadow: 0 10px 25px rgba(154,117,57,.2); }
.hero-account-signup:hover { transform: translateY(-1px); box-shadow: 0 13px 30px rgba(154,117,57,.28); }
.hero-account-actions > span { flex-basis: 100%; color: rgba(255,255,255,.43); font-size: 10px; }
.hero-account-actions + .trust-row { margin-top: 36px; }
.trust-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; margin-top: 54px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.1); }
.trust-row strong { display: block; font-family: Manrope, sans-serif; font-size: 23px; color: white; }
.trust-row span { display: block; margin-top: 5px; font-size: 12px; color: rgba(255,255,255,.48); }

.converter-card { color: var(--ink); background: rgba(255,253,248,.98); border: 1px solid rgba(255,255,255,.6); border-radius: var(--radius-xl); box-shadow: var(--shadow); padding: 34px; position: relative; }
.converter-card::before { content: ""; position: absolute; inset: 0 28px auto; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.card-topline { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 32px; }
.card-topline h2 { margin: 8px 0 0; font: 700 24px/1.2 Manrope, sans-serif; letter-spacing: -.03em; }
.card-kicker { color: #9a7a46; }
.secure-pill { padding: 8px 12px; background: #edf5f0; color: #2b6955; border-radius: 999px; font-size: 11px; font-weight: 700; }
.field-label { display: block; margin: 0 0 9px; font-size: 12px; font-weight: 700; color: #60707a; }
.money-field { display: grid; grid-template-columns: 1fr 128px; border: 1px solid #d9d7d0; background: white; border-radius: 16px; overflow: hidden; transition: .2s ease; }
.money-field:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.money-field input { min-width: 0; height: 68px; border: 0; outline: 0; padding: 0 20px; background: transparent; font: 700 25px Manrope, sans-serif; color: var(--ink); }
.money-field select { border: 0; border-left: 1px solid #e5e1d8; outline: 0; padding: 0 12px; background: #fbf8f1; font-weight: 700; color: var(--ink); }
.result-field input { color: #1c604c; }
.swap-button { width: 42px; height: 42px; display: grid; place-items: center; margin: 14px auto; border: 1px solid #ded8ca; border-radius: 50%; background: white; color: #8f7040; transition: .25s ease; }
.swap-button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(10,24,32,.12); }
.swap-button.rotating { transform: rotate(180deg); }
.swap-button svg { width: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.rate-panel { display: grid; grid-template-columns: 1fr auto; gap: 20px; margin-top: 24px; padding: 18px; border: 1px solid #e6dfd0; border-radius: 14px; background: #f9f5ec; }
.rate-panel span { display: block; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; color: #849098; }
.rate-panel strong { display: block; margin-top: 6px; font-size: 13px; }
.rate-time { text-align: right; }
.message-box { margin-top: 16px; padding: 13px 15px; border-radius: 12px; background: #fff0ed; color: #973a35; font-size: 13px; }
.disclaimer { margin: 20px 0 0; font-size: 11px; line-height: 1.6; color: #879197; }

.currency-strip { display: grid; grid-template-columns: repeat(6, 1fr); border-top: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); margin-top: 40px; }
.currency-chip { display: flex; gap: 10px; align-items: center; padding: 22px 14px; border-right: 1px solid rgba(255,255,255,.08); }
.currency-chip:last-child { border-right: 0; }
.currency-chip > span { font-size: 20px; }
.currency-chip strong, .currency-chip small { display: block; }
.currency-chip strong { font-size: 12px; }
.currency-chip small { margin-top: 3px; color: rgba(255,255,255,.42); font-size: 9px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.site-footer { display: flex; justify-content: space-between; padding: 28px 0 34px; color: rgba(255,255,255,.42); font-size: 12px; }
.site-footer a:hover { color: var(--gold-light); }

.history-section { margin-top: 28px; }
.history-card {
    position: relative;
    overflow: hidden;
    padding: 34px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 28px;
    background: linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    box-shadow: 0 24px 70px rgba(0,0,0,.16);
    backdrop-filter: blur(18px);
}
.history-card::before {
    content: "";
    position: absolute;
    width: 340px;
    height: 340px;
    right: -180px;
    top: -220px;
    border-radius: 50%;
    background: rgba(201,166,107,.12);
    filter: blur(10px);
    pointer-events: none;
}
.history-head { position: relative; display: flex; justify-content: space-between; align-items: flex-start; gap: 30px; }
.history-head h2 { margin: 9px 0 7px; font: 700 25px/1.2 Manrope, sans-serif; letter-spacing: -.035em; }
.history-head p { margin: 0; color: rgba(255,255,255,.5); font-size: 12px; }
.history-filters { display: inline-flex; padding: 4px; border: 1px solid rgba(255,255,255,.1); border-radius: 12px; background: rgba(4,13,18,.32); }
.history-filter { min-width: 78px; height: 36px; border: 0; border-radius: 9px; background: transparent; color: rgba(255,255,255,.52); font-size: 11px; font-weight: 700; transition: .2s ease; }
.history-filter:hover { color: white; }
.history-filter.active { color: #15242a; background: var(--gold-light); box-shadow: 0 8px 24px rgba(201,166,107,.18); }
.history-overview { position: relative; display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: 12px; margin: 28px 0 18px; }
.history-overview > div { min-height: 82px; padding: 16px 18px; border: 1px solid rgba(255,255,255,.08); border-radius: 14px; background: rgba(4,13,18,.22); }
.history-overview span { display: block; color: rgba(255,255,255,.43); font-size: 10px; text-transform: uppercase; letter-spacing: .11em; }
.history-overview strong { display: block; margin-top: 9px; font: 700 17px Manrope, sans-serif; color: white; }
.history-primary-stat strong { font-size: 21px; color: var(--gold-light); }
.history-primary-stat small { display: block; margin-top: 5px; color: rgba(255,255,255,.46); font-size: 10px; }
.history-primary-stat small.positive { color: #71d1ad; }
.history-primary-stat small.negative { color: #f49a94; }
.history-primary-stat small.neutral { color: rgba(255,255,255,.52); }
.history-chart-wrap { position: relative; min-height: 360px; overflow: hidden; border: 1px solid rgba(255,255,255,.075); border-radius: 18px; background: linear-gradient(180deg, rgba(2,10,14,.26), rgba(2,10,14,.08)); }
.history-chart { display: block; width: 100%; height: auto; min-height: 320px; }
.history-grid line { stroke: rgba(255,255,255,.075); stroke-width: 1; }
.history-grid text, .history-x-labels text { fill: rgba(255,255,255,.37); font: 10px "DM Sans", sans-serif; }
.history-area { fill: url(#historyAreaGradient); }
.history-line { fill: none; stroke: #dfc28f; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 6px 10px rgba(201,166,107,.22)); }
.history-focus-line { stroke: rgba(234,213,174,.33); stroke-width: 1; stroke-dasharray: 4 5; }
.history-focus-dot { fill: #f5e4c3; stroke: #9f7c43; stroke-width: 3; }
.history-hit-points circle { fill: transparent; cursor: crosshair; outline: none; }
.history-tooltip { position: absolute; z-index: 4; min-width: 190px; padding: 11px 13px; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; background: rgba(6,17,23,.96); box-shadow: 0 14px 35px rgba(0,0,0,.32); pointer-events: none; }
.history-tooltip span, .history-tooltip strong { display: block; }
.history-tooltip span { color: rgba(255,255,255,.48); font-size: 10px; }
.history-tooltip strong { margin-top: 5px; color: var(--gold-light); font-size: 12px; }
.history-empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 30px; color: rgba(255,255,255,.48); text-align: center; font-size: 13px; }
.history-foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 14px; color: rgba(255,255,255,.42); font-size: 10px; }
.history-foot span { display: inline-flex; align-items: center; gap: 8px; }
.history-foot i { width: 18px; height: 3px; border-radius: 4px; background: var(--gold-light); }
.history-foot small { color: rgba(255,255,255,.34); }

.admin-login-page { min-height: 100vh; background: #f2eee6; }
.login-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(380px, 44%) 1fr; }
.login-visual { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; padding: 48px 9%; color: white; background: linear-gradient(150deg, #08141b, #12303a); }
.login-visual::after { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(201,166,107,.16); border-radius: 50%; right: -260px; bottom: -160px; box-shadow: 0 0 0 80px rgba(201,166,107,.035), 0 0 0 160px rgba(201,166,107,.025); }
.login-visual > * { position: relative; z-index: 1; }
.login-visual h1 { font: 700 clamp(38px, 4vw, 58px)/1.08 Manrope, sans-serif; letter-spacing: -.05em; margin: 20px 0; }
.login-visual p { max-width: 520px; color: rgba(255,255,255,.62); line-height: 1.8; }
.login-footnote { color: rgba(255,255,255,.36); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; }
.login-panel { display: grid; place-items: center; padding: 40px; }
.login-form-stack { width: min(430px, 100%); }
.login-form-stack .login-form { width: 100%; }
.login-form { width: min(430px, 100%); }
.login-form h2 { font: 700 34px/1.2 Manrope, sans-serif; letter-spacing: -.04em; margin: 10px 0; }
.login-form > p { color: var(--muted); margin-bottom: 30px; }
.login-form label, .password-form label { display: block; margin-bottom: 18px; }
.login-form label span, .password-form label span { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; color: #59666e; }
.login-form input, .password-form input { width: 100%; height: 52px; border: 1px solid #d8d4ca; border-radius: 12px; background: white; outline: 0; padding: 0 15px; }
.login-form input:focus, .password-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.primary-button { width: 100%; height: 53px; padding-left: 15px; padding-right: 15px; border: 0; border-radius: 12px; color: white; background: var(--ink); font-size: 15px; font-weight: 700; box-shadow: 0 12px 30px rgba(12,23,32,.2); }
.primary-button:hover { background: #17303b; }
.back-link { display: block; text-align: center; margin-top: 20px; color: #7c858a; font-size: 12px; }
.mobile-brand { display: none; text-align: center; }
.alert { margin: 0 0 22px; padding: 14px 16px; border-radius: 12px; font-size: 14px; }
.alert-error { color: #8e3737; background: #fbe8e6; border: 1px solid #f0ceca; }
.alert-success { color: #256550; background: #e7f4ed; border: 1px solid #c9e6d9; }
.alert-warning { color: #75520f; background: #fff9eb; border: 1px solid #f0d193; }
.alert-warning > strong { display: block; margin-bottom: 5px; }
.alert-warning > span { display: block; line-height: 1.55; }
.admin-temporary-password-fallback { margin-top: 12px; padding: 12px 14px; border: 1px dashed #d4ad5d; border-radius: 10px; background: rgba(255,255,255,.72); }
.admin-temporary-password-fallback > span,
.admin-temporary-password-fallback > small { display: block; }
.admin-temporary-password-fallback > span { margin-bottom: 6px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.admin-temporary-password-fallback code { display: inline-block; max-width: 100%; padding: 8px 10px; border-radius: 7px; background: #2b2418; color: #fff; font-size: 16px; font-weight: 800; letter-spacing: .06em; overflow-wrap: anywhere; user-select: all; }
.admin-temporary-password-fallback > small { margin-top: 7px; line-height: 1.45; }

.admin-page { background: #f1eee8; }
.admin-layout { min-height: 100vh; display: grid; grid-template-columns: 260px 1fr; }
.sidebar { position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; padding: 30px 24px; overflow-y: auto; overscroll-behavior: contain; color: white; background: #0b1d25; }
.sidebar > .brand, .sidebar nav, .sidebar-user, .sidebar > .logout-link { flex-shrink: 0; }
.sidebar nav { display: grid; gap: 6px; margin: 54px 0 24px; }
.sidebar-user { margin-top: auto; }
.sidebar nav a { padding: 13px 14px; border-radius: 10px; color: rgba(255,255,255,.54); font-size: 13px; }
.sidebar nav a:hover, .sidebar nav a.active { color: white; background: rgba(255,255,255,.08); }
.sidebar-user { display: flex; align-items: center; gap: 12px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.1); }
.sidebar-user > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--gold); color: #17252a; font-weight: 800; }
.sidebar-user strong, .sidebar-user small { display: block; }
.sidebar-user strong { font-size: 12px; }
.sidebar-user small { margin-top: 3px; color: rgba(255,255,255,.42); font-size: 10px; }
.logout-link { color: rgba(255,255,255,.45); font-size: 12px; }
.logout-link:hover { color: white; }
.admin-main { min-width: 0; padding: 38px clamp(24px, 4vw, 58px) 70px; }
.admin-header { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; margin-bottom: 30px; }
.admin-header h1 { margin: 8px 0 8px; font: 700 36px/1.2 Manrope, sans-serif; letter-spacing: -.04em; }
.admin-header p, .admin-card-head p, .security-card p { margin: 0; color: #000; font-size: 14px; }
.admin-date { padding: 10px 10px; border-radius: 10px; background: white; color: #000; box-shadow: 0 8px 25px rgba(20,31,38,.05); font-size: 14px; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 22px; }
.stats-grid article { padding: 22px; border: 1px solid rgba(12,23,32,.06); border-radius: 16px; background: white; box-shadow: 0 12px 35px rgba(18,30,38,.05); }
.stats-grid span, .stats-grid small { display: block; color: var(--muted); font-size: 11px; }
.stats-grid strong { display: block; margin: 8px 0 5px; font: 700 30px Manrope, sans-serif; }
.stats-grid .small-stat { font-size: 16px; margin: 15px 0 10px; }
.admin-card { margin-top: 22px; border: 1px solid rgba(12,23,32,.06); border-radius: 18px; background: white; box-shadow: 0 16px 50px rgba(18,30,38,.06); overflow: hidden; }
.admin-card-head { display: flex; justify-content: space-between; gap: 25px; align-items: center; padding: 24px 26px; border-bottom: 1px solid #ece9e3; }
.admin-card h2 { margin: 0 0 7px; color: #f37236; font: 700 19px Manrope, sans-serif; letter-spacing: -.02em; }
.table-tools { display: flex; gap: 10px; }
.table-tools input, .table-tools select { height: 40px; border: 1px solid #ddd9d0; border-radius: 10px; background: white; padding: 0 12px; outline: 0; color: #445159; }
.rate-table-wrap { overflow-x: auto; }
.rate-table { width: 100%; border-collapse: collapse; min-width: 930px; }
.rate-table th { padding: 13px 18px; text-align: left; background: #faf8f4; color: #000; font-size: 13px; text-transform: uppercase; letter-spacing: .1em; }
.rate-table td {padding: 14px 14px; border-top: 1px solid #efede7; vertical-align: middle; }
.rate-table tbody tr:hover { background: #fdfbf7; }
.pair-cell { display: flex; align-items: center; gap: 13px; }
.pair-flags { min-width: 74px; font-size: 20px; letter-spacing: 3px; }
.pair-flags b { font-size: 12px; color: #a4aaad; }
.pair-cell strong, .pair-cell small, .updated-cell strong, .updated-cell small { display: block; }
.pair-cell strong { font-size: 13px; }
.pair-cell small, .updated-cell small { margin-top: 3px; color: #000; font-size: 12px; }
.rate-input-wrap { display: flex; align-items: center; width: 210px; border: 1px solid #dcd8cf; border-radius: 10px; overflow: hidden; background: white; }
.rate-input-wrap input { min-width: 0; width: 155px; height: 40px; border: 0; outline: 0; padding: 0 11px; }
.rate-input-wrap span { display: grid; place-items: center; align-self: stretch; flex: 1; background: #f5f2eb; color: #6c777d; font-size: 11px; font-weight: 700; }
.switch-label { display: flex; align-items: center; gap: 9px; }
.switch-label input { position: absolute; opacity: 0; pointer-events: none; }
.switch { position: relative; width: 38px; height: 22px; border-radius: 20px; background: #c8cdcf; transition: .2s; }
.switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: white; box-shadow: 0 2px 5px rgba(0,0,0,.18); transition: .2s; }
.switch-label input:checked + .switch { background: #27745b; }
.switch-label input:checked + .switch::after { transform: translateX(16px); }
.switch-label small { width: 54px; color: #000; font-size: 13px; }
.updated-cell strong { font-size: 11px; }
.updated-cell > span { color: #a1a7aa; font-size: 11px; }
.save-button { height: 36px; padding: 9px 15px; border: 0; border-radius: 9px; background: #122932; color: white; font-size: 12px; font-weight: 700; }
.save-button:hover { background: #1b3a45; }
.security-card { display: grid; grid-template-columns: 1fr 1.5fr; gap: 45px; padding: 28px; align-items: start; }
.password-form { display: grid; grid-template-columns: repeat(3, 1fr) auto; gap: 12px; align-items: end; }
.password-form label { margin: 0; }
.password-form input { height: 44px; }
.password-form .primary-button { width: auto; height: 44px; padding: 0 18px; white-space: nowrap; }

@media (max-width: 1050px) {
    .hero-grid { grid-template-columns: 1fr 470px; gap: 40px; }
    .currency-strip { grid-template-columns: repeat(3, 1fr); }
    .history-overview { grid-template-columns: repeat(2, 1fr); }
    .currency-chip:nth-child(3) { border-right: 0; }
    .currency-chip:nth-child(-n+3) { border-bottom: 1px solid rgba(255,255,255,.08); }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .security-card { grid-template-columns: 1fr; }
    .password-form { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
    .hero-grid { grid-template-columns: 1fr; padding-top: 42px; }
    .hero-copy { text-align: center; }
    .hero-copy > p { margin-inline: auto; }
    .trust-row { max-width: 600px; margin-inline: auto; margin-top: 42px; }
    .converter-card { max-width: 600px; width: 100%; margin-inline: auto; }
    .history-head { align-items: stretch; }
    .login-shell { grid-template-columns: 1fr; }
    .login-visual { display: none; }
    .mobile-brand { display: block; margin-bottom: 42px; }
    .admin-layout { grid-template-columns: 1fr; }
    .sidebar { position: relative; height: auto; flex-direction: row; align-items: center; gap: 18px; padding: 18px 24px; overflow: visible; }
    .brand-logo-sidebar { width: 132px; }
    .sidebar nav { display: none; }
    .sidebar-user { margin-top: 0; margin-left: auto; border: 0; padding: 0; }
    .sidebar-user div { display: none; }
    .logout-link { white-space: nowrap; }
}
@media (max-width: 620px) {
    .shell { width: min(100% - 24px, 1180px); }
    .site-header { padding: 22px 0; }
    .header-meta { display: none; }
    .hero-grid { gap: 40px; }
    .hero-copy h1 { font-size: 43px; }
    .hero-copy > p { font-size: 15px; }
    .trust-row { gap: 8px; }
    .trust-row span { font-size: 10px; }
    .converter-card { padding: 26px 18px; border-radius: 24px; }
    .card-topline { display: block; }
    .secure-pill { display: inline-block; margin-top: 12px; }
    .money-field { grid-template-columns: 1fr 110px; }
    .money-field input { padding: 0 14px; font-size: 21px; }
    .rate-panel { grid-template-columns: 1fr; }
    .rate-time { text-align: left; }
    .currency-strip { grid-template-columns: repeat(2, 1fr); }
    .currency-chip:nth-child(3) { border-right: 1px solid rgba(255,255,255,.08); }
    .currency-chip:nth-child(even) { border-right: 0; }
    .currency-chip:nth-child(-n+4) { border-bottom: 1px solid rgba(255,255,255,.08); }
    .site-footer { display: grid; gap: 9px; text-align: center; }
    .history-card { padding: 24px 16px; border-radius: 22px; }
    .history-head { display: grid; }
    .history-filters { width: 100%; }
    .history-filter { flex: 1; min-width: 0; }
    .history-overview { grid-template-columns: 1fr 1fr; }
    .history-primary-stat { grid-column: 1 / -1; }
    .history-overview > div { min-height: 76px; padding: 14px; }
    .history-chart-wrap { min-height: 300px; margin-inline: -8px; }
    .history-chart { min-width: 680px; min-height: 280px; }
    .history-chart-wrap { overflow-x: auto; }
    .history-foot { display: grid; line-height: 1.5; }
    .admin-main { padding: 26px 14px 50px; }
    .admin-header { display: block; }
    .admin-date { display: inline-block; margin-top: 16px; color: #000; font-size: 14px; }
    .stats-grid { grid-template-columns: 1fr; }
    .admin-card-head { align-items: stretch; flex-direction: column; }
    .table-tools { display: grid; }
    .security-card { padding: 22px; }
    .password-form { grid-template-columns: 1fr; }
    .brand-logo-customer { width: 116px; }
    .brand-logo-sidebar { width: 112px; }
    .brand-logo-mobile { width: min(150px, 56vw); }
}

/* Customer accounts, order workflow and operations dashboard */
.rate-panel > div:first-child strong { font-size: 18px; line-height: 1.35; }
.header-actions { display: flex; align-items: center; gap: 24px; }
.header-quick-actions { display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.header-order-button { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; color: white; background: rgba(255,255,255,.07); font-size: 12px; font-weight: 800; white-space: nowrap; transition: .2s ease; }
.header-order-button:hover { color: white; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.12); transform: translateY(-1px); }
.customer-nav { display: flex; align-items: center; gap: 9px; font-size: 12px; color: rgba(255,255,255,.78); }
.customer-nav a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 14px; border-radius: 999px; font-weight: 700; transition: .2s ease; }
.customer-login-link { border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.055); }
.customer-login-link:hover { color: white; border-color: rgba(255,255,255,.4); background: rgba(255,255,255,.1); }
.nav-pill { border: 1px solid #d6b77d; background: linear-gradient(135deg, #e7cf9f, #c9a66b); color: #132329; box-shadow: 0 8px 22px rgba(154,117,57,.18); }
.nav-pill:hover { color: #132329 !important; transform: translateY(-1px); }
.conversion-actions { display: grid; grid-template-columns: 1.15fr 1fr; gap: 11px; margin-top: 18px; }
.buy-now-button, .copy-conversion-button { min-height: 50px; border-radius: 12px; font-weight: 800; transition: .2s ease; }
.buy-now-button { border: 0; color: #132329; background: linear-gradient(135deg, #e8cf9f, #c9a66b); box-shadow: 0 12px 28px rgba(154,117,57,.22); }
.buy-now-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 15px 34px rgba(154,117,57,.3); }
.copy-conversion-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid #d9d3c7; color: #26373e; background: white; }
.copy-conversion-button:hover:not(:disabled) { border-color: #b99a65; background: #fbf6ec; }
.copy-conversion-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.buy-now-button:disabled, .copy-conversion-button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.copy-feedback { min-height: 18px; padding-top: 8px; color: #27745b; font-size: 11px; text-align: center; }
.site-footer > div { display: flex; gap: 18px; }

.customer-auth-page, .checkout-page, .account-page { min-height: 100vh; background: radial-gradient(circle at top, #fdf9ef, #eee8dc 72%); }
.customer-auth-shell { width: min(540px, calc(100% - 28px)); margin: 0 auto; padding: 42px 0 60px; }
.auth-brand { display: flex; justify-content: center; margin-bottom: 28px; }
.customer-auth-card { padding: 36px; border: 1px solid rgba(12,23,32,.08); border-radius: 24px; background: rgba(255,255,255,.94); box-shadow: 0 28px 80px rgba(18,30,38,.12); }
.compact-auth-card { margin-top: 35px; }
.customer-auth-card h1, .checkout-card h1, .account-title h1 { margin: 9px 0 10px; font: 700 31px/1.2 Manrope, sans-serif; letter-spacing: -.04em; }
.customer-auth-card > p, .checkout-card > p, .account-title p { margin: 0 0 25px; color: #000; line-height: 1.65; font-size: 13px; }
.customer-form { display: grid; gap: 15px; }
.customer-form label, .admin-create-form label { display: grid; gap: 7px; }
.customer-form label > span, .admin-create-form label > span { font-size: 11px; font-weight: 700; color: #5f6d75; }
.customer-form label small, .admin-create-form label small { color: #9aa2a6; font-weight: 500; }
.customer-form input, .admin-create-form input, .admin-search, .inline-status-form select { width: 100%; height: 48px; border: 1px solid #d9d4ca; border-radius: 11px; background: white; padding: 0 14px; outline: 0; }
.customer-form input:focus, .admin-create-form input:focus, .admin-search:focus, .inline-status-form select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.auth-switch { margin: 20px 0 0 !important; text-align: center; font-size: 12px !important; }
.auth-switch a { color: #9b7139; font-weight: 700; }

.checkout-header, .account-header { display: flex; align-items: center; justify-content: space-between; padding-top: 28px; padding-bottom: 20px; }
.checkout-header > a:last-child, .account-header nav { color: #425158; font-size: 12px; }
.kyc-page-header-meta { display: flex; align-items: center; gap: 18px; color: #425158; font-size: 12px; }
.kyc-page-header-meta strong { color: #173636; }
.kyc-page-header-meta a { color: #8a6534; font-weight: 700; }
.account-header nav { display: flex; align-items: center; gap: 14px; }
.account-header .nav-pill { padding: 10px 20px 10px 20px; border-radius: 8px; color: white; border-color: transparent; background: var(--ink); }
.checkout-shell { width: min(760px, calc(100% - 28px)); margin: 25px auto 70px; }
.checkout-steps { display: flex; align-items: center; justify-content: center; margin: 0 0 22px; color: #9aa0a2; font-size: 15px; }
.checkout-steps span { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.checkout-steps span.active { color: #8a6534; }
.checkout-steps span.done { color: #27745b; }
.checkout-steps i { width: 70px; height: 1px; margin: 0 13px; background: #cec8bc; }
.checkout-card { padding: 38px; border: 1px solid rgba(12,23,32,.07); border-radius: 24px; background: white; box-shadow: 0 25px 75px rgba(20,32,40,.1); }
.confirmation-conversion { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 22px; padding: 25px; border-radius: 17px; background: #0d2028; color: white; }
.confirmation-conversion > b, .mini-order-summary > b { color: #000; font-size: 20px; }
.confirmation-conversion div:last-child { text-align: right; }
.confirmation-conversion span, .confirmation-rate span { display: block; color: #fff; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.confirmation-conversion strong { display: block; margin-top: 7px; font: 700 21px Manrope, sans-serif; }
.confirmation-rate { margin-top: 14px; padding: 19px 20px; border: 1px solid #e3ddcf; border-radius: 14px; background: #faf6ed; }
.confirmation-rate span {color: #000; }
.confirmation-rate strong, .confirmation-rate small { display: block; }
.confirmation-rate strong { margin: 7px 0 4px; font-size: 18px; }
.confirmation-rate small {color: #000; font-size: 12px; }
.checkout-actions { display: flex; align-items: center; justify-content: flex-end; gap: 17px; margin-top: 25px; }
.checkout-actions > a:not(.primary-link-button) {color: #000; font-size: 14px; }
.checkout-actions .primary-button { width: auto; padding: 0 25px; }
.primary-link-button { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; padding: 0 20px; border-radius: 11px; color: white; background: var(--ink); font-size: 14px; font-weight: 700; }
.mini-order-summary { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin: 20px 0; padding: 17px 20px; border: 1px solid #e4ded2; border-radius: 13px; background: #faf7f0; font-weight: 700; }
.mini-order-summary span:last-child { text-align: center; }
.upload-form { display: grid; gap: 16px; }
.upload-zone { min-height: 215px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 22px; border: 1.5px dashed #cbb78f; border-radius: 17px; background: #fdf9f0; text-align: center; cursor: pointer; }
.upload-zone:hover { border-color: #a47d42; background: #fbf4e6; }
.upload-zone input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.upload-icon { display: grid; place-items: center; width: 43px; height: 43px; margin-bottom: 12px; border-radius: 50%; color: #7e5d2b; background: #ead7b2; font-size: 23px; }
.upload-zone strong, .upload-zone small, .upload-zone em { display: block; }
.upload-zone small { margin-top: 6px; color: #899297; font-size: 11px; }
.upload-zone em { max-width: 100%; margin-top: 14px; color: #9b7139; font-size: 11px; font-style: normal; overflow-wrap: anywhere; }
.skip-form { margin-top: 17px; text-align: center; }
.skip-form button { border: 0; padding: 4px; color: #8d6a39; background: transparent; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.success-checkout { text-align: center; }
.success-mark { display: grid; place-items: center; width: 66px; height: 66px; margin: 0 auto 22px; border-radius: 50%; color: white; background: #27745b; font-size: 30px; box-shadow: 0 12px 32px rgba(39,116,91,.25); }
.reference-box { margin: 22px 0; padding: 18px; border-radius: 13px; background: #0d2028; color: white; }
.reference-box span, .reference-box strong { display: block; }
.reference-box span { color: #fff; font-size: 14px; text-transform: uppercase; letter-spacing: .12em; }
.reference-box strong { margin-top: 7px; font-size: 21px; letter-spacing: .04em; }
.success-checkout .checkout-actions { justify-content: center; }

.account-main { padding: 46px 0 70px; }
.account-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.account-title p { margin-bottom: 0; }
.empty-account { padding: 65px 28px; border: 1px solid rgba(12,23,32,.07); border-radius: 22px; background: white; box-shadow: 0 20px 60px rgba(20,32,40,.08); text-align: center; }
.empty-account h2 { margin: 0 0 8px; font: 700 22px Manrope, sans-serif; }
.empty-account p { color: var(--muted); font-size: 13px; }
.empty-account a { color: #9b7139; font-weight: 700; font-size: 12px; }
.order-list { display: grid; gap: 15px; }
.order-card { padding: 24px; border: 1px solid rgba(12,23,32,.07); border-radius: 18px; background: white; box-shadow: 0 14px 45px rgba(20,32,40,.06); }
.order-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.order-card-head small, .order-card-head strong { display: block; }
.order-card-head small { color: #000; font-size: 9px; letter-spacing: .13em; }
.order-card-head strong { margin-top: 5px; font-size: 14px; }
.order-status { padding: 7px 10px; border-radius: 999px; font-size: 15px; font-weight: 700; }
.status-approved { color: #22634e !important; background: #e3f2ea; }
.status-pending { color: #8a641f !important; background: #fbf0d7; }
.status-waiting { color: #925446 !important; background: #f8e7e2; }
.status-neutral { color: #5f6b71 !important; background: #eef0f1; }
.order-conversion { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; margin: 20px 0; padding: 18px 20px; border-radius: 13px; background: #f7f4ed; }
.order-conversion div:last-child { text-align: right; }
.order-conversion span, .order-conversion strong { display: block; }
.order-conversion span { color: #ff3314; font-size: 13px; }
.order-conversion strong { margin-top: 5px; font-size: 16px; }
.order-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; padding: 5px 18px 20px 18px; color: #000; font-size: 12px; }
.continue-upload-link { display: inline-block; margin-top: 17px; color: #8c6733; font-size: 11px; font-weight: 700; }

.admin-search { width: 280px; height: 40px; }
.admin-orders-table td strong, .admin-orders-table td small { display: block; }
.admin-orders-table td > small, .admin-orders-table td strong + small { margin-top: 4px; color: #000; font-size: 13px; }
.admin-orders-table td:first-child > strong { font-size: 14px; }
.table-link { color: #8b6633; font-size: 15px; font-weight: 700; }
.muted-text { color: #a1a7aa; font-size: 11px; }
.inline-status-form { display: grid; align-items: start; gap: 7px; width: min(260px, 100%); }
.inline-status-controls { display: flex; align-items: center; gap: 7px; min-width: 0; }
.inline-status-form select { flex: 1 1 auto; min-width: 0; width: 190px; height: 36px; font-size: 13px; }
.inline-status-form .save-button { flex: 0 0 auto; }
.status-note { display: inline-block !important; width: fit-content; margin-top: 0 !important; padding: 4px 7px; border-radius: 999px; font-size: 13px !important; }
.rejection-reason-field { display: grid; gap: 5px; width: 100%; margin-top: 2px; }
.rejection-reason-field[hidden] { display: none !important; }
.rejection-reason-field > span { color: #000; font-size: 12px; font-weight: 800; }
.rejection-reason-input { width: 100%; min-height: 78px; resize: vertical; font: 500 13px/1.45 "DM Sans", sans-serif; }
.empty-table { padding: 35px !important; color: #8a9499; text-align: center; }
.admin-split-panel { display: grid; grid-template-columns: 330px 1fr; min-height: 360px; }
.admin-create-form { display: grid; align-content: start; gap: 13px; padding: 26px; border-right: 1px solid #ece9e3; background: #fcfaf6; }
.admin-create-form h3 { margin: 0 0 7px; font: 700 16px Manrope, sans-serif; }
.simple-check { display: flex !important; align-items: center; grid-template-columns: auto 1fr; gap: 8px !important; }
.simple-check input { width: 16px; height: 16px; }
.admin-create-form .primary-button { height: 46px; margin-top: 3px; }
.customer-admin-list { max-height: 800px; overflow: auto; padding: 10px 22px; }
.customer-admin-list article { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; padding: 15px 2px; border-bottom: 1px solid #efede7; }
.customer-avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #523d20; background: #ead6ae; font-weight: 800; }
.customer-details strong, .customer-details span, .customer-details small { display: block; }
.customer-details strong { font-size: 12px; }
.customer-details span { margin-top: 3px; color: #000; font-size: 13px; }
.customer-details small { margin-top: 4px; color: #000; font-size: 12px; }
.account-state-button { min-width: 67px; height: 32px; border: 0; border-radius: 9px; font-size: 14px; font-weight: 700; }
.account-state-button.active { color: #22634e; background: #e1f1e8; }
.account-state-button.inactive { color: #95483c; background: #f7e5e1; }
.settings-card { display: grid; grid-template-columns: 1fr 1.3fr; gap: 45px; padding: 28px; align-items: start; }
.settings-card p { margin: 0; color: var(--muted); font-size: 13px; }
.settings-card form { display: grid; gap: 15px; }
.setting-toggle { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 13px; padding: 16px; border: 1px solid #e4e0d7; border-radius: 13px; background: #faf8f3; }
.setting-toggle strong, .setting-toggle small { display: block; }
.setting-toggle strong { font-size: 12px; }
.setting-toggle small { margin-top: 4px; color: #8e979b; font-size: 10px; }
.setting-toggle input { position: absolute; opacity: 0; }
.setting-toggle input:checked + .switch { background: #27745b; }
.setting-toggle input:checked + .switch::after { transform: translateX(16px); }
.settings-card .primary-button { width: auto; height: 44px; justify-self: end; padding: 0 18px; }

@media (max-width: 1050px) {
    .admin-split-panel { grid-template-columns: 290px 1fr; }
    .settings-card { grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
    .header-actions { gap: 12px; }
    .admin-split-panel { grid-template-columns: 1fr; }
    .admin-create-form { border-right: 0; border-bottom: 1px solid #ece9e3; }
    .account-title { flex-direction: column; }
}
@media (max-width: 620px) {
    .header-actions { flex-direction: column-reverse; align-items: flex-end; gap: 7px; }
    .header-quick-actions { gap: 6px; }
    .header-order-button { min-height: 34px; padding: 0 11px; font-size: 10px; }
    .customer-nav { gap: 8px; }
    .customer-nav a { min-height: 32px; padding: 0 10px; font-size: 10px; }
    .hero-account-actions { justify-content: center; }
    .hero-account-button { flex: 1; min-width: 130px; }
    .hero-account-actions > span { text-align: center; }
    .conversion-actions { grid-template-columns: 1fr; }
    .customer-auth-card, .checkout-card { padding: 27px 19px; border-radius: 20px; }
    .customer-auth-card h1, .checkout-card h1, .account-title h1 { font-size: 26px; }
    .checkout-steps b { display: none; }
    .checkout-steps i { width: 42px; margin: 0 8px; }
    .confirmation-conversion { grid-template-columns: 1fr; gap: 10px; text-align: center; }
    .confirmation-conversion div:last-child { text-align: center; }
    .checkout-actions { flex-direction: column-reverse; align-items: stretch; }
    .checkout-actions .primary-button, .primary-link-button { width: 100%; }
    .mini-order-summary, .order-conversion { grid-template-columns: 1fr; text-align: center; }
    .mini-order-summary span:last-child, .order-conversion div:last-child { text-align: center; }
    .account-header nav a:first-child { display: none; }
    .order-card-head { flex-direction: column; }
    .order-meta { display: grid; }
    .admin-search { width: 100%; }
    .customer-admin-list article { grid-template-columns: 38px 1fr; }
    .customer-admin-list article form { grid-column: 2; }
    .setting-toggle { grid-template-columns: 1fr auto; }
    .setting-toggle .switch { grid-column: 2; grid-row: 1; }
    .settings-card .primary-button { width: 100%; }
    .site-footer > div { justify-content: center; }
}

/* BBG Exchange Master v2.2 — wallet, recipient and email records */
textarea { font: inherit; }
.form-divider { display: flex; align-items: center; gap: 10px; margin: 3px 0; color: #9a7a46; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.form-divider::before, .form-divider::after { content: ""; height: 1px; flex: 1; background: #e9e3d8; }
.field-help { display: block; margin-top: 2px; color: #929da2 !important; font-size: 12px !important; line-height: 1.5; font-weight: 500 !important; }
.checkout-shell-wide { width: min(900px, calc(100% - 28px)); }
.checkout-steps.four-steps i { width: 54px; margin-inline: 10px; }
.recipient-card { padding: 38px 42px; }
.recipient-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.recipient-form label { display: grid; gap: 7px; }
.recipient-form label > span { color: #5f6d75; font-size: 11px; font-weight: 700; }
.recipient-form input, .recipient-form textarea, .profile-form input { width: 100%; border: 1px solid #d9d4ca; border-radius: 11px; background: white; padding: 0 14px; outline: 0; color: var(--ink); }
.recipient-form input, .profile-form input { height: 48px; }
.recipient-form textarea { min-height: 108px; padding-block: 13px; resize: vertical; }
.recipient-form input:focus, .recipient-form textarea:focus, .profile-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.recipient-wide { grid-column: 1 / -1; }
.recipient-notice { display: flex; justify-content: space-between; gap: 18px; padding: 14px 16px; border: 1px solid #e5dece; border-radius: 12px; background: #faf7f0; }
.recipient-notice strong { font-size: 11px; }
.recipient-notice span { color: #7e898e; font-size: 10px; text-align: right; }
.email-result-alert { margin-top: 20px; text-align: left; }
.completion-recipient { margin: 18px 0; padding: 17px 19px; border: 1px solid #e5dfd4; border-radius: 13px; background: #faf7f0; text-align: left; }
.completion-recipient span, .completion-recipient strong, .completion-recipient small { display: block; }
.completion-recipient span { color: #000; font-size: 14px; letter-spacing: .12em; text-transform: uppercase; }
.completion-recipient strong { margin: 6px 0 5px; color: #27745b; font-size: 18px; }
.completion-recipient small { margin-top: 4px; color: #000; font-size: 14px; }
.completion-detail-list { display: grid; gap: 14px; margin-top: 14px; }
.completion-detail-row small, .completion-detail-row strong { margin: 0; }
.completion-detail-row small { margin-bottom: 4px; }
.completion-detail-row small::after { content: ":"; }
.completion-detail-row strong { overflow-wrap: anywhere; }
.recipient-receives-row { padding-top: 13px; border-top: 1px solid #e5dfd4; }

.profile-card { margin-bottom: 34px; overflow: hidden; border: 1px solid rgba(12,23,32,.07); border-radius: 20px; background: white; box-shadow: 0 16px 50px rgba(20,32,40,.07); }
.profile-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 25px; padding: 25px 28px; border-bottom: 1px solid #ece8df; background: #fcfaf6; }
.profile-card-head h2, .records-title h2 { margin: 7px 0 5px; font: 700 20px/1.25 Manrope, sans-serif; letter-spacing: -.03em; }
.profile-card-head p { max-width: 650px; margin: 0; color: #000; font-size: 13px; line-height: 1.6; }
.profile-email-badge { max-width: 310px; padding: 8px 11px; border-radius: 999px; color: #2c6856; background: #e8f3ed; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.profile-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 20px; padding: 28px; }
.profile-form label, .profile-form .profile-field { display: grid; align-content: start; gap: 7px; }
.profile-form label > span, .profile-form .profile-field > span { color: #5f6d75; font-size: 11px; font-weight: 700; }
.profile-form input:disabled { color: #899297; background: #f3f1ec; }
.profile-wide { grid-column: 1 / -1; }
.remove-passcode-check { display: flex !important; flex-direction: row; align-items: center; gap: 9px !important; min-height: 48px; padding: 0 13px; border: 1px solid #e5e0d7; border-radius: 11px; background: #faf8f3; }
.remove-passcode-check input { width: 16px; height: 16px; flex: 0 0 auto; }
.remove-passcode-check span { margin: 0; font-size: 12px !important; }
.profile-submit { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 4px; }
.profile-submit .primary-button { width: auto; padding-inline: 22px; }
.records-title { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 0 2px 16px; }
.records-title > span { color: #7f8a8f; font-size: 11px; }
.recipient-record-details { margin-top: 17px; border: 1px solid #e5e0d7; border-radius: 12px; background: #fcfaf6; }
.recipient-record-details summary { padding: 12px 14px; color: #866331; font-size: 13px; font-weight: 800; cursor: pointer; }
.recipient-record-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; padding: 0 14px 15px; }
.recipient-record-grid > div { padding: 11px; border-radius: 9px; background: white; }
.recipient-record-grid span, .recipient-record-grid strong { display: block; }
.recipient-record-grid span { color: #000; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; }
.recipient-record-grid strong { margin-top: 5px; font-size: 15px; overflow-wrap: anywhere; }
.recipient-record-wide { grid-column: 1 / -1; }
.order-card-actions { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 18px; margin-top: 16px; }
.order-card-actions .continue-upload-link { margin-top: 0; }
.email-record-form button { min-height: 36px; padding: 0 13px; border: 1px solid #cdb88e; border-radius: 9px; color: #725325; background: #fbf5e8; font-size: 12px; font-weight: 800; }
.email-record-form button:hover { background: #f5e9d1; }
.email-record-status { color: #929b9f; font-size: 9px; }
.admin-orders-table { min-width: 1280px; }
.admin-recipient-details summary { max-width: 170px; color: #795925; font-size: 13px; font-weight: 800; cursor: pointer; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-recipient-details small { max-width: 210px; margin-top: 4px; overflow-wrap: anywhere; }
.wallet-admin-note { color: #917044 !important; overflow-wrap: anywhere; }

@media (max-width: 820px) {
    .profile-card-head { flex-direction: column; }
    .profile-form { grid-template-columns: 1fr; }
    .profile-wide, .profile-submit { grid-column: auto; }
    .profile-submit .primary-button { width: 100%; }
    .recipient-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .recipient-record-wide { grid-column: 1 / -1; }
}

@media (max-width: 620px) {
    .checkout-steps.four-steps { font-size: 10px; }
    .checkout-steps.four-steps i { width: 25px; margin-inline: 5px; }
    .recipient-card { padding: 27px 19px; }
    .recipient-form { grid-template-columns: 1fr; }
    .recipient-wide { grid-column: auto; }
    .recipient-notice { display: grid; }
    .recipient-notice span { text-align: left; }
    .profile-card-head, .profile-form { padding: 21px 18px; }
    .profile-email-badge { max-width: 100%; }
    .records-title { align-items: flex-start; }
    .recipient-record-grid { grid-template-columns: 1fr; }
    .recipient-record-wide { grid-column: auto; }
    .order-card-actions { align-items: flex-start; flex-direction: column; }
}


/* BBG Exchange Master v2.3 — viewable encrypted wallet passcode and customer slip button */
.current-passcode-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; }
.current-passcode-row > input { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .08em; background: #f8f6f1; }
.show-passcode-check { display: flex !important; grid-auto-flow: column; align-items: center; gap: 7px !important; height: 48px; padding: 0 13px; border: 1px solid #ddd6c9; border-radius: 11px; background: #faf8f3; cursor: pointer; }
.show-passcode-check input { width: 16px !important; height: 16px !important; margin: 0; }
.show-passcode-check span { color: #725325 !important; font-size: 10px !important; font-weight: 800 !important; }
.show-passcode-check input:disabled { cursor: not-allowed; }
.show-passcode-check:has(input:disabled) { cursor: not-allowed; opacity: .55; }
.order-action-buttons { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.view-slip-button, .email-record-form button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 13px; border-radius: 9px; font-size: 12px; font-weight: 800; text-decoration: none; cursor: pointer; }
.view-slip-button { border: 1px solid #9db8ae; color: #285f50; background: #edf6f2; }
.view-slip-button:hover { background: #dfefe8; }
/* v2.16.72 — keep the Order History receipt action the same physical size as View Order Details. */
.order-action-buttons > .view-order-details-button,
.order-action-buttons > .transfer-confirmation-history-button {
    flex: 0 0 190px;
    width: 190px;
    min-height: 48px;
    box-sizing: border-box;
    padding: 6px 13px;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
}
@media (max-width: 620px) {
    .current-passcode-row { grid-template-columns: 1fr; }
    .show-passcode-check { width: fit-content; height: 40px; }
    .order-action-buttons > .view-order-details-button,
    .order-action-buttons > .transfer-confirmation-history-button {
        flex-basis: 100%;
        width: 100%;
        min-height: 44px;
    }
}

/* BBG Exchange Master v2.4 — incomplete Buy Now record controls */
.records-title-with-tools { align-items: center; }
.records-title-with-tools p { margin: 5px 0 0; color: #879196; font-size: 10px; }
.record-view-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.record-view-tools > span { color: #7f8a8f; font-size: 10px; }
.record-toggle-button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; margin-top: 0px; padding: 0 13px; border: 1px solid #b9c7c1; border-radius: 9px; color: #315f53; background: #f1f7f4; font-size: 14px; font-weight: 800; white-space: nowrap; }
.record-toggle-button:hover { background: #e5f0eb; }
.hidden-record-note, .admin-hidden-record-note { margin: -4px 2px 16px; padding: 11px 14px; border: 1px dashed #d7c8a8; border-radius: 11px; color: #745c32; background: #fbf6e9; font-size: 14px; }
.admin-hidden-record-note { margin: 0; border-width: 0 0 1px; border-radius: 0; padding: 11px 26px; }
.incomplete-order-card { border-color: #ddcfb5; background: linear-gradient(145deg, #fffdf8, #fbf5e8); }
.incomplete-order-actions { width: 100%; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.danger-outline-button, .danger-solid-button { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 0 13px; border-radius: 9px; font-size: 14px; font-weight: 800; cursor: pointer; white-space: nowrap; }
.danger-outline-button { border: 1px solid #d8aaa5; color: #963f39; background: #fff7f6; }
.danger-outline-button:hover { background: #fbe8e6; }
.danger-solid-button { border: 1px solid #943e38; color: white; background: #943e38; }
.danger-solid-button:hover { background: #7d312c; }
.admin-order-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 9px; }
.admin-order-tools form { margin: 0; }
.admin-order-tools .admin-search { min-width: 270px; }
.incomplete-admin-row { background: #fffaf0; }
.incomplete-admin-row:hover { background: #fff5df !important; }
.admin-remove-incomplete-form { margin-top: 9px; }
.admin-remove-incomplete-form .danger-outline-button { width: 100%; }

@media (max-width: 820px) {
    .records-title-with-tools { align-items: flex-start; }
    .record-view-tools { justify-content: flex-start; }
    .admin-order-tools { justify-content: flex-start; }
    .admin-order-tools .admin-search { min-width: 0; width: 100%; }
}

@media (max-width: 620px) {
    .records-title-with-tools { flex-direction: column; }
    .record-view-tools { width: 100%; }
    .record-toggle-button { width: 100%; }
    .incomplete-order-actions { align-items: stretch; flex-direction: column; }
    .incomplete-order-actions a, .incomplete-order-actions form, .incomplete-order-actions button { width: 100%; }
    .admin-order-tools { display: grid; width: 100%; }
    .admin-order-tools > a, .admin-order-tools > form, .admin-order-tools button { width: 100%; }
}

/* BBG Exchange Master v2.5 — admin currency pair management */
.currency-pair-head { align-items: flex-start; }
.pair-create-panel { display: grid; grid-template-columns: minmax(220px, 1.5fr) minmax(120px, .65fr) minmax(120px, .65fr) minmax(180px, .9fr) auto auto; gap: 14px; align-items: end; padding: 20px 26px; border-bottom: 1px solid #ece9e3; background: linear-gradient(135deg, #fbf8f1, #f6f9f7); }
.pair-create-panel label { margin: 0; }
.pair-create-panel label > span { display: block; margin-bottom: 7px; color: #69767c; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.pair-create-panel select, .pair-create-panel input[type="number"] { width: 100%; height: 43px; border: 1px solid #d9d5cc; border-radius: 10px; background: white; padding: 0 11px; color: #35444b; outline: 0; }
.pair-create-panel select:focus, .pair-create-panel input[type="number"]:focus { border-color: #9c8052; box-shadow: 0 0 0 3px rgba(156,128,82,.1); }
.pair-create-copy { align-self: center; }
.pair-create-copy strong, .pair-create-copy small { display: block; }
.pair-create-copy strong { margin: 5px 0 4px; font: 700 16px Manrope, sans-serif; color: #20343c; }
.pair-create-copy small {color: #000; font-size: 12px; line-height: 1.45; }
.pair-publish-check { min-height: 43px; align-items: center; padding: 0 5px; white-space: nowrap; }
.pair-publish-check > span { margin: 0 !important; color: #526067 !important; font-size: 11px !important; text-transform: none !important; letter-spacing: 0 !important; }
.pair-add-button { width: auto; min-width: 96px; height: 43px; padding: 0 18px; margin: 0; white-space: nowrap; }
.pair-add-button:disabled { cursor: not-allowed; opacity: .48; }
.pair-create-hint { grid-column: 2 / -1; margin-top: -7px; color: #ff3314; font-size: 16px; }
.currency-pair-table { min-width: 1010px; }
.pair-action-buttons { display: flex; align-items: center; gap: 8px; }
.pair-action-buttons form { margin: 0; }
.pair-action-buttons .save-button, .pair-action-buttons .danger-outline-button { min-height: 36px; white-space: nowrap; }

@media (max-width: 1250px) {
    .pair-create-panel { grid-template-columns: 1.2fr .7fr .7fr 1fr; }
    .pair-publish-check { grid-column: 2 / 3; }
    .pair-add-button { grid-column: 4 / 5; }
    .pair-create-hint { grid-column: 2 / 5; }
}

@media (max-width: 820px) {
    .pair-create-panel { grid-template-columns: 1fr 1fr; padding: 20px; }
    .pair-create-copy { grid-column: 1 / -1; }
    .pair-rate-field { grid-column: 1 / -1; }
    .pair-publish-check { grid-column: 1 / 2; }
    .pair-add-button { grid-column: 2 / 3; width: 100%; }
    .pair-create-hint { grid-column: 1 / -1; margin-top: 0; }
}

@media (max-width: 520px) {
    .pair-create-panel { grid-template-columns: 1fr; }
    .pair-create-copy, .pair-rate-field, .pair-publish-check, .pair-add-button, .pair-create-hint { grid-column: 1; }
    .pair-add-button { width: 100%; }
    .pair-action-buttons { align-items: stretch; flex-direction: column; }
    .pair-action-buttons > button, .pair-action-buttons form, .pair-action-buttons form button { width: 100%; }
}

/* BBG Exchange Master v2.6 — administrator-managed currency catalogue */
.currency-catalogue-head { align-items: flex-start; }
.currency-create-panel { display: grid; grid-template-columns: minmax(230px, 1.4fr) 80px minmax(135px, .85fr) minmax(170px, 1fr) 105px 105px 95px 100px; gap: 12px; align-items: end; padding: 20px 26px; border-bottom: 1px solid #ece9e3; background: linear-gradient(135deg, #f9f7f1, #f4f8f6); }
.currency-create-panel label { display: grid; gap: 7px; margin: 0; }
.currency-create-panel label > span { color: #69767c; font-size: 10px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.currency-create-panel input[type="text"], .currency-create-panel input[type="number"], .currency-create-panel select { width: 100%; height: 43px; border: 1px solid #d9d5cc; border-radius: 10px; background: white; padding: 0 11px; color: #35444b; outline: 0; }
.currency-create-panel input:focus { border-color: #9c8052; box-shadow: 0 0 0 3px rgba(156,128,82,.1); }
.currency-create-copy { align-self: center; }
.currency-create-copy strong, .currency-create-copy small { display: block; }
.currency-create-copy strong { margin: 5px 0 4px; font: 700 14px Manrope, sans-serif; color: #20343c; }
.currency-create-copy small { color: #849096; font-size: 10px; line-height: 1.45; }
.currency-active-check { min-height: 43px; align-items: center; padding: 0 4px; white-space: nowrap; }
.currency-active-check > span { margin: 0 !important; color: #526067 !important; font-size: 11px !important; text-transform: none !important; letter-spacing: 0 !important; }
.currency-create-options { grid-column: 1 / -1; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 12px 22px; }
.currency-create-options .simple-check { min-height: 43px; margin: 0; white-space: nowrap; }
.currency-create-options .simple-check > span { margin: 0 !important; color: #526067 !important; font-size: 11px !important; text-transform: none !important; letter-spacing: 0 !important; }
.currency-add-button { width: auto; min-width: 112px; height: 43px; padding-inline: 17px; margin: 0; white-space: nowrap; font-size: 13px; }
.currency-catalogue-table { min-width: 1280px; }
.catalogue-currency-cell { display: flex; align-items: center; gap: 12px; }
.catalogue-currency-cell > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid #e4dfd5; border-radius: 12px; background: #fbfaf7; font-size: 22px; }
.catalogue-currency-cell strong, .catalogue-currency-cell small { display: block; }
.catalogue-currency-cell strong { font: 800 14px Manrope, sans-serif; letter-spacing: .04em; }
.catalogue-currency-cell small { margin-top: 3px; color: #929ba0; font-size: 9px; }
.catalogue-text-fields { display: grid; gap: 8px; min-width: 270px; }
.catalogue-text-fields > div { display: grid; grid-template-columns: 120px 90px; gap: 8px; }
.catalogue-text-fields input, .catalogue-number-fields input, .currency-catalogue-table select { width: 100%; height: 38px; border: 1px solid #ddd8cf; border-radius: 9px; background: white; padding: 0 10px; color: #35444b; outline: 0; }
.catalogue-text-fields input:focus, .catalogue-number-fields input:focus, .currency-catalogue-table select:focus { border-color: #9c8052; box-shadow: 0 0 0 3px rgba(156,128,82,.09); }
.catalogue-number-fields { display: grid; grid-template-columns: 90px 100px; gap: 9px; }
.catalogue-number-fields label { display: grid; gap: 5px; }
.catalogue-number-fields span { color: #7e898f; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.currency-switch { min-width: 104px; }
.currency-signature-switch { min-width: 188px; }
.catalogue-note { padding: 13px 26px; border-top: 1px solid #ece9e3; color: #78633f; background: #fcf8ef; font-size: 10px; line-height: 1.55; }

@media (max-width: 1450px) {
    .currency-create-panel { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .currency-create-copy { grid-column: 1 / -1; }
    .currency-create-options { grid-column: 1 / -1; }
}

@media (max-width: 980px) {
    .currency-create-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px; }
    .currency-create-copy { grid-column: 1 / -1; }
    .currency-create-options { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 560px) {
    .currency-create-panel { grid-template-columns: 1fr; }
    .currency-create-copy, .currency-create-options { grid-column: 1; }
    .currency-create-options { align-items: stretch; flex-direction: column; }
    .currency-create-options .simple-check, .currency-add-button { width: 100%; }
}

/* Admin completed conversion reports */
.report-card-head {
    background:
        radial-gradient(circle at 92% 15%, rgba(201,166,107,.16), transparent 32%),
        linear-gradient(135deg, #fffdf8, #f8f3e9);
}
.report-card-head .card-kicker { display: block; margin-bottom: 8px; }
.report-total-pill {
    min-width: 142px;
    padding: 13px 17px;
    border: 1px solid rgba(154,122,70,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.82);
    text-align: right;
    box-shadow: 0 10px 28px rgba(18,30,38,.05);
}
.report-total-pill strong, .report-total-pill span { display: block; }
.report-total-pill strong { font: 800 25px Manrope, sans-serif; color: #7f6030; }
.report-total-pill span { margin-top: 2px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.report-period-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; padding: 24px 26px; }
.report-period-panel {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: start;
    padding: 22px;
    border: 1px solid #e6e0d5;
    border-radius: 16px;
    background: linear-gradient(145deg, #ffffff, #fbf8f2);
    box-shadow: 0 12px 32px rgba(18,30,38,.045);
}
.report-panel-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #10262f;
    color: #ead5ae;
    font: 800 17px Manrope, sans-serif;
    box-shadow: 0 9px 20px rgba(12,23,32,.14);
}
.report-panel-copy { min-width: 0; }
.report-panel-copy .card-kicker { display: block; margin-bottom: 6px; }
.report-panel-copy h3 { margin: 0 0 6px; font: 700 17px Manrope, sans-serif; letter-spacing: -.02em; }
.report-panel-copy p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.report-panel-copy small { display: block; margin-top: 8px; color: #8e6d38; font-size: 10px; font-weight: 700; }
.report-period-field { grid-column: 1 / -1; display: grid; gap: 7px; margin-top: 4px; }
.report-period-field span { color: #65727a; font-size: 11px; font-weight: 700; }
.report-period-field input, .report-period-field select {
    width: 100%;
    height: 45px;
    padding: 0 13px;
    border: 1px solid #d9d3c8;
    border-radius: 10px;
    background: white;
    color: var(--ink);
    outline: 0;
}
.report-period-field input:focus, .report-period-field select:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.report-period-field span small { margin-left: 5px; color: #8e6d38; font-size: 10px; font-weight: 600; }
.report-month-selects { display: grid; grid-template-columns: minmax(105px, .8fr) minmax(150px, 1.2fr); gap: 10px; }
.report-export-button { grid-column: 1 / -1; width: 100%; margin-top: 0; }
.report-definition-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0 26px 26px;
    padding: 13px 15px;
    border: 1px solid #e7dfcf;
    border-radius: 12px;
    background: #faf6ed;
    color: #68747b;
    font-size: 11px;
    line-height: 1.55;
}
.report-definition-note strong { flex: 0 0 auto; color: #795d31; }
.report-definition-note span { min-width: 0; }

@media (max-width: 1050px) {
    .report-period-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .report-total-pill { width: 100%; text-align: left; }
    .report-period-grid { padding: 18px 14px; }
    .report-period-panel { grid-template-columns: 42px 1fr; padding: 18px 15px; }
    .report-panel-icon { width: 42px; height: 42px; border-radius: 12px; }
    .report-month-selects { grid-template-columns: 1fr; }
    .report-definition-note { display: block; margin: 0 14px 18px; }
    .report-definition-note strong { display: block; margin-bottom: 4px; }
}

/* BBG Exchange Master v2.8 — admin date filters and 10-item pagination */
.admin-order-filter-bar {
    display: grid;
    grid-template-columns: 170px 145px 145px minmax(230px, 1fr) auto auto;
    gap: 12px;
    align-items: end;
    padding: 18px 26px;
    border-bottom: 1px solid #ece9e3;
    background: #fcfbf8;
}
.admin-order-filter-bar label { display: grid; gap: 7px; margin: 0; }
.admin-order-filter-bar label > span {
    color: #778289;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-order-filter-bar select,
.admin-order-filter-bar input[type="date"],
.admin-order-filter-bar .admin-search {
    width: 100%;
    height: 42px;
    border: 1px solid #d9d5cc;
    border-radius: 10px;
    background: white;
    padding: 0 12px;
    color: #35444b;
    outline: 0;
}
.admin-order-filter-bar select:focus,
.admin-order-filter-bar input:focus { border-color: #9c8052; box-shadow: 0 0 0 3px rgba(156,128,82,.1); }
.order-custom-date { transition: opacity .18s ease; }
.order-custom-date.is-disabled { opacity: .42; }
.order-filter-search { min-width: 0; }
.admin-filter-button { width: auto; height: 42px; padding: 0 18px; border-radius: 10px; white-space: nowrap; }
.admin-filter-reset {
    display: inline-flex;
    height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    border: 1px solid #d9d4ca;
    border-radius: 10px;
    color: #68747b;
    background: white;
    font-size: 14px;
    font-weight: 800;
}
.admin-filter-reset:hover { background: #f5f2eb; }
.admin-filter-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 26px;
    border-bottom: 1px solid #ece9e3;
    color: #000;
    background: #fff;
    font-size: 14px;
}
.admin-filter-summary strong { color: #6f552c; }
.admin-list-filter { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; }
.admin-list-filter .admin-search { width: 280px; }
.admin-list-filter > a {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    color: #7b633d;
    font-size: 13px;
    font-weight: 800;
}
.admin-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 26px;
    border-top: 1px solid #ece9e3;
    color: #000;
    background: #fcfbf8;
    font-size: 13px;
}
.pagination-links { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.pagination-links a,
.pagination-links strong,
.pagination-links span {
    display: inline-flex;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 9px;
    border-radius: 8px; font-size: 13px;
    font-weight: 800;
}
.pagination-links a { border: 1px solid #ded9cf; color: #596970; background: white; }
.pagination-links a:hover { border-color: #b99b69; background: #faf5ea; }
.pagination-links strong { color: white; background: #122932; }
.pagination-links span { min-width: auto; padding: 0 3px; color: #9aa1a5; }
.admin-list-empty { padding: 28px 20px; color: #8d969a; text-align: center; font-size: 11px; }
.customer-admin-list > .admin-pagination { margin: 4px -22px -18px; }

@media (max-width: 1250px) {
    .admin-order-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .order-filter-search { grid-column: 1 / 3; }
    .admin-filter-button, .admin-filter-reset { width: 100%; }
}
@media (max-width: 820px) {
    .admin-order-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 18px 20px; }
    .order-filter-search { grid-column: 1 / -1; }
    .admin-list-filter { width: 100%; justify-content: flex-start; }
    .admin-list-filter .admin-search { min-width: 0; width: min(100%, 420px); }
    .admin-pagination { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 560px) {
    .admin-order-filter-bar { grid-template-columns: 1fr; }
    .order-filter-search { grid-column: 1; }
    .admin-filter-summary { align-items: flex-start; flex-direction: column; }
    .admin-list-filter { display: grid; grid-template-columns: 1fr auto; }
    .admin-list-filter .admin-search { width: 100%; }
    .admin-list-filter > a { grid-column: 1 / -1; justify-content: flex-start; padding-left: 0; }
    .admin-pagination { padding: 14px 16px; }
    .pagination-links { width: 100%; }
}

/* BBG Exchange Master v2.9 — customer record date filters and pagination */
.customer-record-filter-bar {
    display: grid;
    grid-template-columns: 170px 145px 145px auto auto;
    gap: 12px;
    align-items: end;
    padding: 18px 20px;
    border: 1px solid #e4dfd5;
    border-bottom: 0;
    border-radius: 16px 16px 0 0;
    background: linear-gradient(135deg, #fffdf8, #f8f6f0);
    box-shadow: 0 12px 34px rgba(20,32,40,.045);
}
.customer-record-filter-bar label { display: grid; gap: 7px; margin: 0; }
.customer-record-filter-bar label > span {
    color: #000;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.customer-record-filter-bar select,
.customer-record-filter-bar input[type="date"] {
    width: 100%;
    height: 42px;
    border: 1px solid #d9d5cc;
    border-radius: 10px;
    background: white;
    padding: 0 12px;
    color: #35444b;
    font-size: 13px;
    outline: 0;
}
.customer-record-filter-bar select:focus,
.customer-record-filter-bar input[type="date"]:focus {
    border-color: #9c8052;
    box-shadow: 0 0 0 3px rgba(156,128,82,.1);
}
.customer-custom-date { transition: opacity .18s ease; }
.customer-custom-date.is-disabled { opacity: .42; }
.customer-record-filter-button {
    width: auto;
    height: 42px;
    padding: 0 18px;
    border-radius: 10px;
    font-size: 15px;
    white-space: nowrap;
}
.customer-record-filter-reset {
    display: inline-flex;
    height: 42px;
    align-items: center;
    justify-content: center;
    padding: 0 15px;
    border: 1px solid #d9d4ca;
    border-radius: 10px;
    color: #68747b;
    background: white;
    font-size: 13px;
    font-weight: 800;
}
.customer-record-filter-reset:hover { background: #f5f2eb; }
.customer-record-filter-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding: 11px 20px;
    border: 1px solid #e4dfd5;
    border-top-color: #eeeae2;
    border-radius: 0 0 16px 16px;
    color: #7d878c;
    background: white;
    font-size: 12px;
}
.customer-record-filter-summary strong { color: #6f552c; }
.customer-record-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 15px;
    padding: 15px 18px;
    border: 1px solid #e4dfd5;
    border-radius: 14px;
    color: #000;
    background: #fcfbf8;
    font-size: 13px;
}

@media (max-width: 900px) {
    .customer-record-filter-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .customer-record-filter-button,
    .customer-record-filter-reset { width: 100%; }
}

@media (max-width: 680px) {
    .customer-record-filter-bar { grid-template-columns: 1fr 1fr; padding: 16px; }
    .customer-record-filter-bar > label:first-of-type { grid-column: 1 / -1; }
    .customer-record-filter-summary { align-items: flex-start; flex-direction: column; padding-inline: 16px; }
    .customer-record-pagination { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 480px) {
    .customer-record-filter-bar { grid-template-columns: 1fr; }
    .customer-record-filter-bar > label:first-of-type { grid-column: 1; }
    .customer-record-pagination { padding: 14px; }
    .customer-record-pagination .pagination-links { width: 100%; }
}

/* v2.10 — Buy Now transfer destination tabs */
.transfer-method-tabs {
    margin: 0;
    padding: 0;
    border: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.transfer-method-tabs legend {
    margin-bottom: 9px;
    color: #5f6d75;
    font-size: 11px;
    font-weight: 700;
}
.transfer-method-tab {
    position: relative;
    display: block !important;
    min-height: 92px;
    padding: 17px 18px;
    border: 1px solid #ddd6ca;
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, box-shadow .18s ease, background .18s ease, transform .18s ease;
}
.transfer-method-tab:hover {
    border-color: #c9a66b;
    transform: translateY(-1px);
}
.transfer-method-tab.is-active {
    border-color: #a98043;
    background: #fffaf1;
    box-shadow: 0 0 0 4px rgba(201,166,107,.13);
}
.transfer-method-tab input {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    opacity: 0;
    pointer-events: none;
}
.transfer-method-tab span,
.transfer-method-tab strong,
.transfer-method-tab small {
    display: block;
}
.transfer-method-tab strong {
    color: var(--ink);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
}
.transfer-method-tab small {
    margin-top: 6px;
    color: #7a858a;
    font-size: 10px;
    line-height: 1.45;
}
.transfer-method-panel[hidden] { display: none !important; }
.transfer-method-panel {
    padding: 20px;
    border: 1px solid #e5dece;
    border-radius: 14px;
    background: #fcfaf6;
}
.bank-transfer-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.wallet-transfer-panel {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(220px, .8fr);
    gap: 16px;
    align-items: end;
}
.wallet-destination-summary,
.wallet-transfer-amount,
.wallet-setup-required {
    padding: 17px 18px;
    border: 1px solid #e2dacb;
    border-radius: 12px;
    background: #fff;
}
.wallet-destination-summary span,
.wallet-transfer-amount span {
    display: block;
    color: #8c969b;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.wallet-destination-summary strong,
.wallet-transfer-amount strong {
    display: block;
    margin-top: 7px;
    color: var(--ink);
    font-family: "Manrope", sans-serif;
    font-size: 14px;
    overflow-wrap: anywhere;
}
.wallet-destination-summary small {
    display: block;
    margin-top: 7px;
    color: #7c878c;
    font-size: 10px;
    line-height: 1.5;
}
.wallet-passcode-field {
    align-self: stretch;
}
.wallet-transfer-amount {
    grid-column: 1 / -1;
}
.wallet-setup-required {
    grid-column: 1 / -1;
    text-align: center;
}
.wallet-setup-required strong {
    display: block;
    color: var(--ink);
    font-family: "Manrope", sans-serif;
    font-size: 16px;
}
.wallet-setup-required p {
    margin: 8px auto 15px;
    max-width: 520px;
    color: #6f7c82;
    font-size: 11px;
    line-height: 1.6;
}
.transfer-destination-form button:disabled {
    opacity: .48;
    cursor: not-allowed;
    transform: none;
}
#wallet-settings { scroll-margin-top: 24px; }

@media (max-width: 720px) {
    .transfer-method-tabs,
    .bank-transfer-grid,
    .wallet-transfer-panel {
        grid-template-columns: 1fr;
    }
    .transfer-method-tab { min-height: auto; }
    .wallet-transfer-amount { grid-column: auto; }
}

/* v2.11 — Administrator-configurable email and SMTP settings */
.mail-settings-card {
    display: grid;
    grid-template-columns: minmax(240px, .72fr) minmax(0, 1.7fr);
    gap: 34px;
    padding: 30px;
    align-items: start;
}
.mail-settings-intro h2 { margin-bottom: 8px; }
.mail-settings-intro > p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.7;
}
.mail-setting-status {
    display: grid;
    gap: 4px;
    margin-top: 22px;
    padding: 15px 16px;
    border: 1px solid #ddd8ce;
    border-radius: 13px;
    background: #faf8f3;
}
.mail-setting-status strong { font-size: 12px; }
.mail-setting-status span { color: #7b878c; font-size: 10px; overflow-wrap: anywhere; }
.mail-setting-status.is-enabled { border-color: #b8d7c8; background: #f2faf6; }
.mail-setting-status.is-enabled strong { color: #21674f; }
.mail-setting-status.is-disabled { border-color: #e5cdc8; background: #fff7f5; }
.mail-setting-status.is-disabled strong { color: #9b4338; }
.mail-settings-form { display: grid; gap: 18px; }
.mail-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.mail-settings-form label { display: grid; gap: 7px; }
.mail-settings-form label > span,
.smtp-settings-panel legend {
    color: #5f6d75;
    font-size: 11px;
    font-weight: 700;
}
.mail-settings-form label > span small { color: #9aa2a6; font-weight: 500; }
.mail-settings-form input,
.mail-settings-form select {
    width: 100%;
    height: 46px;
    border: 1px solid #d9d4ca;
    border-radius: 11px;
    background: #fff;
    padding: 0 13px;
    color: var(--ink);
    outline: 0;
}
.mail-settings-form input:focus,
.mail-settings-form select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(201,166,107,.12);
}
.mail-enable-toggle { margin: 0; }
.smtp-settings-panel {
    min-width: 0;
    margin: 0;
    padding: 20px;
    border: 1px solid #e1ddd4;
    border-radius: 15px;
    background: #fcfaf6;
    transition: opacity .18s ease, filter .18s ease;
}
.smtp-settings-panel legend { padding: 0 8px; }
.smtp-settings-panel.is-disabled {
    opacity: .52;
    filter: grayscale(.25);
    pointer-events: none;
}
.smtp-grid { grid-template-columns: minmax(0, 1.5fr) minmax(110px, .45fr) minmax(135px, .6fr) minmax(120px, .5fr); }
.smtp-host-field,
.smtp-username-field,
.smtp-password-field { grid-column: span 2; }
.smtp-checkbox-row {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 22px;
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid #e4dfd6;
}
.smtp-checkbox-row .simple-check { margin: 0; }
.danger-check span { color: #a14c43; }
.mail-test-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto;
    gap: 16px;
    align-items: end;
}
.mail-action-buttons { display: flex; gap: 10px; justify-content: flex-end; }
.mail-action-buttons button { min-height: 44px; white-space: nowrap; }
.mail-security-note {
    margin: 0;
    padding: 13px 15px;
    border-left: 3px solid #c9a66b;
    border-radius: 0 10px 10px 0;
    color: #737e83;
    background: #faf7f0;
    font-size: 10px;
    line-height: 1.6;
}
.mail-security-note code { color: #5e4930; font-size: 10px; }

@media (max-width: 1100px) {
    .mail-settings-card { grid-template-columns: 1fr; }
    .smtp-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .smtp-host-field,
    .smtp-username-field,
    .smtp-password-field { grid-column: auto; }
}

@media (max-width: 680px) {
    .mail-settings-card { padding: 20px; }
    .mail-settings-grid,
    .smtp-grid,
    .mail-test-row { grid-template-columns: 1fr; }
    .mail-action-buttons { flex-direction: column; }
    .mail-action-buttons button { width: 100%; }
    .smtp-checkbox-row { display: grid; }
}
.mail-action-buttons .primary-button,
.mail-action-buttons .save-button {
    width: auto;
    padding: 0 18px;
}

/* BBG Exchange Master v2.12 — administrator API management */
.api-secret-reveal {
    display: grid;
    gap: 18px;
    margin-top: 22px;
    padding: 24px 26px;
    border: 1px solid #d4b87f;
    border-radius: 18px;
    background: linear-gradient(135deg, #fffaf0, #f8ecd4);
    box-shadow: 0 16px 50px rgba(113, 82, 33, .1);
}
.api-secret-reveal h2 { margin: 7px 0 5px; font: 700 19px Manrope, sans-serif; }
.api-secret-reveal p { margin: 0; color: #746a5c; font-size: 12px; }
.api-secret-copy-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.api-secret-copy-row input {
    min-width: 0;
    height: 48px;
    border: 1px solid #d8c59f;
    border-radius: 11px;
    padding: 0 14px;
    background: white;
    color: #172a32;
    font: 600 12px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.api-stats { margin-top: 22px; }
.api-management-form { display: grid; gap: 18px; padding: 24px 26px; }
.api-form-grid { display: grid; grid-template-columns: 2fr 1.2fr 1fr 1fr; gap: 14px; }
.api-management-form label { display: grid; gap: 7px; }
.api-management-form label > span, .api-scope-fieldset legend { color: #65727a; font-size: 11px; font-weight: 700; }
.api-management-form label > span small { color: #9aa2a6; font-weight: 500; }
.api-management-form input[type="text"],
.api-management-form input[type="number"],
.api-management-form input[type="datetime-local"],
.api-management-form textarea {
    width: 100%;
    border: 1px solid #d9d4ca;
    border-radius: 11px;
    background: white;
    outline: 0;
}
.api-management-form input[type="text"],
.api-management-form input[type="number"],
.api-management-form input[type="datetime-local"] { height: 46px; padding: 0 13px; }
.api-management-form textarea { resize: vertical; min-height: 84px; padding: 12px 13px; line-height: 1.5; }
.api-management-form input:focus, .api-management-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.api-active-field .simple-check { min-height: 46px; padding: 0 12px; border: 1px solid #e3ded4; border-radius: 11px; background: #faf8f3; }
.api-scope-fieldset { margin: 0; padding: 16px; border: 1px solid #e1ddd4; border-radius: 14px; }
.api-scope-fieldset legend { padding: 0 7px; }
.api-scope-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.api-scope-grid label {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 10px;
    padding: 12px;
    border: 1px solid #ece8df;
    border-radius: 11px;
    background: #fcfaf6;
}
.api-scope-grid input { width: 16px; height: 16px; margin-top: 2px; }
.api-scope-grid strong, .api-scope-grid small { display: block; }
.api-scope-grid strong { color: #273b44; font: 700 11px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.api-scope-grid small { margin-top: 4px; color: #899499; font-size: 10px; line-height: 1.45; }
.api-management-form > .primary-button { width: max-content; min-width: 170px; }
.api-integration-list { padding: 18px 22px 0; }
.api-integration-card { overflow: hidden; margin-bottom: 16px; border: 1px solid #e5e1d8; border-radius: 16px; background: white; }
.api-integration-summary { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 19px 22px; border-bottom: 1px solid #ece9e3; background: #fcfaf6; }
.api-integration-summary h3 { margin: 7px 0 5px; font: 700 16px Manrope, sans-serif; }
.api-integration-summary code { color: #7d898e; font-size: 10px; }
.api-key-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.api-key-status.is-active { color: #21674f; background: #e4f3eb; }
.api-key-status.is-inactive { color: #98493d; background: #f8e6e2; }
.api-usage-summary { min-width: 90px; text-align: right; }
.api-usage-summary strong, .api-usage-summary span, .api-usage-summary small { display: block; }
.api-usage-summary strong { font: 800 23px Manrope, sans-serif; }
.api-usage-summary span { color: #7b878c; font-size: 10px; }
.api-usage-summary small { margin-top: 4px; color: #a07166; font-size: 9px; }
.api-edit-form { padding-bottom: 18px; }
.api-metadata { display: flex; flex-wrap: wrap; gap: 7px 18px; color: #8d969a; font-size: 10px; }
.api-card-actions { display: flex; justify-content: flex-end; }
.api-danger-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding: 13px 22px; border-top: 1px solid #ece9e3; background: #faf8f3; }
.api-danger-actions form { margin: 0; }
.danger-link-button { border: 0; padding: 6px 8px; background: transparent; color: #a64c43; font-size: 10px; font-weight: 800; }
.empty-admin-state { padding: 45px 20px; color: #899398; text-align: center; font-size: 12px; }
.api-docs-body { display: grid; gap: 18px; padding: 24px 26px; }
.api-code-example { display: grid; gap: 8px; }
.api-code-example > span { color: #65727a; font-size: 11px; font-weight: 700; }
.api-code-example pre { overflow: auto; margin: 0; padding: 16px; border-radius: 13px; background: #10242d; color: #f5e6c9; font-size: 11px; line-height: 1.7; }
.api-endpoint-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.api-endpoint-grid article { padding: 16px; border: 1px solid #e5e1d8; border-radius: 13px; background: #fcfaf6; }
.api-endpoint-grid strong, .api-endpoint-grid small { display: block; }
.api-endpoint-grid strong { font: 700 12px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.api-endpoint-grid small { margin-top: 5px; color: #9a743e; font-size: 9px; font-weight: 700; }
.api-endpoint-grid p { margin: 7px 0 0; color: #7b878c; font-size: 11px; line-height: 1.5; }
.api-safety-note { display: flex; gap: 10px; padding: 14px 16px; border: 1px solid #e3d6bd; border-radius: 12px; background: #fffaf0; color: #746a5c; font-size: 11px; line-height: 1.55; }
.api-safety-note strong { flex: 0 0 auto; color: #7b5d2e; }
.api-log-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.api-log-actions form { margin: 0; }
.api-log-table td small { display: block; max-width: 340px; margin-top: 4px; color: #929a9f; font-size: 9px; overflow-wrap: anywhere; }
.api-http-status { display: inline-flex; min-width: 44px; justify-content: center; padding: 6px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.api-http-status.is-success { color: #21674f; background: #e4f3eb; }
.api-http-status.is-error { color: #98493d; background: #f8e6e2; }
.empty-table-cell { padding: 34px !important; color: #899398; text-align: center; }

@media (max-width: 1050px) {
    .api-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .api-secret-copy-row, .api-form-grid, .api-scope-grid, .api-endpoint-grid { grid-template-columns: 1fr; }
    .api-integration-summary { flex-direction: column; }
    .api-usage-summary { text-align: left; }
    .api-management-form, .api-docs-body { padding: 18px 14px; }
    .api-integration-list { padding: 14px 12px 0; }
    .api-safety-note { display: block; }
    .api-safety-note strong { display: block; margin-bottom: 4px; }
}


/* v2.13 — transaction fees, Credit Points, and Transfer Completed Slips */
.transaction-fee-panel {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid #ead9b8;
    border-radius: 12px;
    background: #fffaf0;
    color: #6f624e;
    font-size: 12px;
    line-height: 1.5;
}
.transaction-fee-panel[hidden] { display: none !important; }
.transaction-fee-panel strong { color: #7c5c28; }
.confirmation-fee-breakdown {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 15px 0 8px;
}
.confirmation-fee-breakdown > span,
.confirmation-fee-breakdown > div {
    display: grid;
    gap: 4px;
    padding: 13px;
    border: 1px solid #e5e0d6;
    border-radius: 12px;
    background: #faf8f3;
}
.confirmation-fee-breakdown > p { grid-column: 1 / -1; margin: 0; color: #7a6d5a; font-size: 11px; line-height: 1.5; }
.confirmation-fee-breakdown small, .confirmation-fee-breakdown > div > span { color: #000; font-size: 14px; }
.confirmation-fee-breakdown strong { color: green; font: 700 18px Manrope, sans-serif; }
.confirmation-fee-breakdown .is-net { border-color: #d9c18f; background: #fffaf0; }
.transaction-fee-disclaimer, .checkout-fee-note {
    color: #7a6d5a; font-size: 12px;
    line-height: 1.55;
}
.checkout-fee-note {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    margin: 10px 0 18px;
    padding: 11px 13px;
    border: 1px solid #e7dcc6;
    border-radius: 11px;
    background: #fffaf1;
}
.checkout-fee-note strong { color: #7d5d27; }
.completed-transfer-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 18px 0;
    padding: 16px;
    border: 1px solid #cfe5d9;
    border-radius: 14px;
    background: #f1faf5;
}
.completed-transfer-result span, .completed-transfer-result strong, .completed-transfer-result small { display: block; }
.completed-transfer-result span { color: #5f776b; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.completed-transfer-result strong { margin-top: 4px; color: #214f3c; font-size: 13px; }
.completed-transfer-result small { margin-top: 3px; color: #80928a; font-size: 10px; }
.profile-summary-badges { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.credit-point-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid #2b6955;
    border-radius: 10px;
    background: #edf5f0;
}
.credit-point-badge small { color: #2b6955; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.credit-point-badge strong { color: #6d501d; font: 800 15px Manrope, sans-serif; }
.completed-slip-button { border-color: #b9d8c8 !important; background: #edf8f2 !important; color: #286248 !important; }
.admin-credit-balance { display: grid; gap: 2px; margin-top: 7px; }
.admin-credit-balance span { color: #f37236; font-size: 12px; font-weight: bold; text-transform: uppercase; letter-spacing: .07em; }
.admin-credit-balance strong { color: #755722; font: 800 17px Manrope, sans-serif; }
.credit-adjust-form { display: flex; align-items: center; gap: 6px; margin-top: 8px; }
.credit-adjust-form input { width: 108px; height: 34px; padding: 0 9px; border: 1px solid #ddd7cc; border-radius: 8px; }
.credit-adjust-form button { min-height: 34px; padding: 0 10px; border: 0; border-radius: 8px; background: #263d47; color: white; font-size: 10px; font-weight: 800; }
.pair-fee-field { min-width: 185px; }
.fee-input-wrap input { min-width: 130px; }
.fee-table-note { display: block; max-width: 190px; margin-top: 5px; color: #000; font-size: 12px; line-height: 1.35; }
.admin-slip-stack { display: grid; gap: 8px; min-width: 185px; }
.completed-slip-admin-box { display: grid; gap: 7px; padding: 9px; border: 1px solid #d8e6de; border-radius: 10px; background: #f3faf6; }
.completed-slip-admin-box strong { color: #2b6049; font-size: 10px; overflow-wrap: anywhere; }
.completed-slip-link { color: #27684d; font-size: 15px; font-weight: 800; }
.completed-slip-upload-form, .completed-slip-email-form { display: grid; gap: 6px; }
.completed-slip-upload-form input[type="file"] { width: 100%; max-width: 220px; font-size: 13px; }
.completed-slip-upload-form button, .completed-slip-email-form button {
    min-height: 33px;
    border: 0;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 800;
}
.completed-slip-upload-form button { background: #263d47; color: white; }
.completed-slip-email-form button { background: #9a7740; color: white; }
.completed-slip-email-form button:disabled { cursor: not-allowed; opacity: .45; }

@media (max-width: 760px) {
    .confirmation-fee-breakdown { grid-template-columns: 1fr; }
    .checkout-fee-note, .completed-transfer-result { align-items: flex-start; flex-direction: column; }
    .profile-summary-badges { justify-content: flex-start; }
}

/* BBG Exchange Master v2.14 — Credit Point fees, SVIP bank routing and transfers */
.checkout-steps.four-steps {
    grid-template-columns: auto 1fr auto 1fr auto 1fr auto;
}
.credit-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 11px;
    margin: 16px 0;
}
.credit-review-grid > div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 15px;
    border: 1px solid #e2ded5;
    border-radius: 13px;
    background: #faf8f3;
}
.credit-review-grid span {color: #000; font-size: 12px; line-height: 1.4; }
.credit-review-grid strong { color: #203740; font: 800 16px Manrope, sans-serif; }
.credit-review-grid .is-insufficient { border-color: #e1aaa0; background: #fff1ee; }
.credit-review-grid .is-insufficient strong { color: #a64c43; }
.checkout-routing-note {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3px 15px;
    margin: 14px 0 18px;
    padding: 14px 16px;
    border: 1px solid #d9c79f;
    border-radius: 13px;
    background: linear-gradient(135deg, #fffaf0, #f8f0df);
}
.checkout-routing-note span { color: #877755; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.checkout-routing-note strong { color: #6e511e; font: 800 16px Manrope, sans-serif; text-align: right; }
.checkout-routing-note small { grid-column: 1 / -1; color: #8e846f; font-size: 12px; }
.bank-account-selection { display: grid; gap: 17px; }
.bank-account-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.bank-account-tab { position: relative; cursor: pointer; }
.bank-account-tab input { position: absolute; opacity: 0; pointer-events: none; }
.bank-account-tab span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 10px 16px;
    border: 1px solid #d9d4ca;
    border-radius: 11px;
    background: #faf8f3;
    color: #627078; font-size: 15px;
    font-weight: 800;
}
.bank-account-tab input:checked + span { border-color: #b99353; background: #fff8ea; color: #77561f; box-shadow: 0 0 0 3px rgba(185,147,83,.12); }
.bank-account-tab.is-disabled { cursor: not-allowed; opacity: .45; }
.bbg-bank-account-card,
.selected-bbg-bank-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 18px;
    border: 1px solid #dfe5e7;
    border-radius: 15px;
    background: #f7fafb;
}
.bbg-bank-account-card[hidden] { display: none !important; }
.sender-bank-account-title {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    color: #203740;
    font-size: 20px;
}
.bbg-bank-account-card > div,
.selected-bbg-bank-summary > div { display: grid; gap: 4px; min-width: 0; }
.bbg-bank-account-card span,
.selected-bbg-bank-summary span { color: #849096; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.bbg-bank-account-card strong,
.selected-bbg-bank-summary strong { color: #203740; font-size: 16px; overflow-wrap: anywhere; }
.bank-number { font: 800 15px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; letter-spacing: .03em; }
.svip-badge,
.inline-svip-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #c8a565;
    border-radius: 999px;
    background: linear-gradient(135deg, #fff4d7, #ead09c);
    color: #73531f;
    font-weight: 900;
    letter-spacing: .08em;
}
.svip-badge { padding: 7px 11px; font-size: 13px; }
.inline-svip-badge { margin-left: 10px; padding: 3px 10px; font-size: 9px; vertical-align: middle; }
.credit-transfer-card { display: grid; gap: 18px; }
.credit-transfer-form {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(140px, .8fr) auto;
    align-items: end;
    gap: 12px;
    padding: 17px;
    border: 1px solid #e2ddd3;
    border-radius: 14px;
    background: #faf8f3;
}
.credit-transfer-form label { display: grid; gap: 7px; }
.credit-transfer-form label > span { color: #000; font-size: 12px; font-weight: 800; }
.credit-transfer-form input { width: 100%; height: 44px; padding: 0 12px; border: 1px solid #d8d3c9; border-radius: 10px; background: white; }
.credit-history-list { display: grid; gap: 8px; }
.credit-history-list h3 { margin: 0 0 5px; font: 700 14px Manrope, sans-serif; }
.credit-history-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 5px 16px;
    padding: 12px 14px;
    border-bottom: 1px solid #ece8df;
}
.credit-history-list > div strong { font-size: 13px; }
.credit-history-list > div > span { font-weight: 800; font-size: 12px; }
.credit-history-list > div strong.is-positive { color: #267052; }
.credit-history-list > div strong.is-negative { color: #a25347; }
.credit-history-list > div small { grid-column: 1 / -1; color: #000; font-size: 13px; }
.customer-state-actions { display: grid; align-content: start; gap: 7px; }
.account-state-button.svip { border-color: #c8a565; background: #f6e5bf; color: #73531f; }
.bbg-bank-record-details { margin-top: 12px; }
.bbg-bank-admin-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding-top: 18px; }
.bbg-bank-admin-card { display: grid; gap: 11px; padding: 18px; border: 1px solid #e2ddd3; border-radius: 15px; background: #fcfaf6; }
.bbg-bank-admin-card label { display: grid; gap: 6px; }
.bbg-bank-admin-card label > span { color: #6f7b80; font-size: 10px; font-weight: 800; }
.bbg-bank-admin-card input[type="text"] { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #d9d4ca; border-radius: 9px; background: white; }
.bbg-bank-admin-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding-bottom: 10px; border-bottom: 1px solid #ebe6dc; }
.bbg-bank-admin-head span,
.bbg-bank-admin-head strong,
.bbg-bank-admin-head small { display: block; }
.bbg-bank-admin-head span { color: #9a743e; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bbg-bank-admin-head strong { margin-top: 4px; font: 800 14px Manrope, sans-serif; }
.bbg-bank-admin-head small { margin-top: 3px; color: #8c969a; font-size: 9px; }
.bbg-bank-admin-head > b { padding: 5px 7px; border-radius: 999px; background: #f4dfb5; color: #73531f; font-size: 8px; letter-spacing: .07em; }
.bbg-admin-bank { margin-bottom: 8px; border-color: #d9c69d !important; background: #fffaf0 !important; }

@media (max-width: 900px) {
    .bbg-bank-admin-grid { grid-template-columns: 1fr; }
    .credit-transfer-form { grid-template-columns: 1fr 1fr; }
    .credit-transfer-form button { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
    .checkout-steps.four-steps { display: grid; grid-template-columns: 1fr; gap: 7px; }
    .checkout-steps.four-steps i { display: none; }
    .credit-review-grid,
    .bank-account-tabs,
    .bbg-bank-account-card,
    .selected-bbg-bank-summary,
    .credit-transfer-form { grid-template-columns: 1fr; }
    .checkout-routing-note { grid-template-columns: 1fr; }
    .checkout-routing-note strong { text-align: left; }
    .credit-transfer-form button { grid-column: auto; width: 100%; }
    .credit-history-list > div { grid-template-columns: 1fr; }
    .credit-history-list > div small { grid-column: auto; }
}


/* BBG Exchange Master v2.16 — five-step checkout and recipient bank directory */
.checkout-steps.five-steps {
    display: grid;
    grid-template-columns: auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto minmax(18px, 1fr) auto;
    width: min(100%, 940px);
    margin-inline: auto;
}
.checkout-steps.five-steps i {
    width: auto;
    min-width: 18px;
    margin-inline: 9px;
}
.transfer-destination-form {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
}
.transfer-destination-form .transfer-method-tabs,
.transfer-destination-form .transfer-method-panel,
.transfer-destination-form .checkout-actions {
    grid-column: 1 / -1;
}
.recipient-checkout-card { padding: 38px 42px; }
.recipient-bbg-summary { margin: 20px 0; }
.recipient-form select,
.directory-add-form select,
.directory-record-card select {
    width: 100%;
    height: 48px;
    border: 1px solid #d9d4ca;
    border-radius: 11px;
    background: #fff;
    padding: 0 40px 0 14px;
    outline: 0;
    color: var(--ink);
    font: inherit;
}
.recipient-form select:focus,
.directory-add-form select:focus,
.directory-record-card select:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(201,166,107,.12);
}
.recipient-form select:disabled { background: #f1efea; color: #98a0a4; cursor: not-allowed; }
.transfer-method-tabs { grid-column: 1 / -1; }
.transfer-method-tabs legend { grid-column: 1 / -1; }
.transfer-method-panel { grid-column: 1 / -1; }
.bank-transfer-panel { display: block; }
.bank-transfer-grid label,
.wallet-passcode-field { display: grid; gap: 7px; }
.bank-transfer-grid label > span,
.wallet-passcode-field > span { color: #5f6d75; font-size: 11px; font-weight: 700; }
.wallet-setup-required .primary-link-button { width: fit-content; margin: 0 auto; }

.recipient-directory-admin { overflow: hidden; }
.recipient-directory-layout {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid #ece8e0;
}
.recipient-directory-column { min-width: 0; padding: 24px; }
.recipient-directory-column + .recipient-directory-column { border-left: 1px solid #ece8e0; }
.directory-column-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 15px;
    margin: 0 16px 16px;
    color: #f37236;
}
.directory-column-head h3 { margin: 0; font: 800 17px Manrope, sans-serif; }
.directory-column-head p { margin: 5px 0 0; color: #000; font-size: 13px; line-height: 1.5; }
.directory-column-head > span { padding: 6px 9px; border-radius: 999px; background: #f0ece4; color: #6f7b80; font-size: 13px; font-weight: 800; white-space: nowrap; }
.directory-add-form {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(80px, .55fr) 80px auto;
    align-items: end;
    gap: 10px;
    padding: 15px;
    border: 1px solid #dfd9cd;
    border-radius: 14px;
    background: #faf8f3;
}
.bank-directory-add-form { grid-template-columns: minmax(130px, .9fr) minmax(0, 1.35fr) minmax(100px, .75fr) 70px; }
.directory-add-form label,
.directory-record-card label { display: grid; gap: 6px; }
.directory-add-form label > span,
.directory-record-card label > span { color: #000; font-size: 13px; font-weight: 800; }
.directory-add-form input:not([type="checkbox"]),
.directory-record-card input:not([type="checkbox"]) {
    width: 100%;
    height: 40px;
    padding: 6px 10px;
    border: 1px solid #d8d3c9;
    border-radius: 9px;
    background: #fff;
    font-size: 15px;
    outline: 0;
}
.directory-add-form select,
.directory-record-card select { height: 40px; padding-left: 10px; }
.directory-add-form .simple-check { min-height: 40px; align-self: end; }
.directory-add-form .save-button { min-height: 40px; }
.directory-record-list { display: grid; gap: 10px; margin-top: 15px; }
.directory-record-card {
    display: grid;
    gap: 12px;
    padding: 15px;
    border: 1px solid #e5e1d8;
    border-radius: 13px;
    background: #fff;
}
.directory-record-title strong,
.directory-record-title small { display: block; }
.directory-record-title strong { font: 800 15px Manrope, sans-serif; }
.directory-record-title small { margin-top: 4px; color: #000; font-size: 13px; }
.directory-edit-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) 75px 70px auto; align-items: end; gap: 9px; }
.bank-directory-edit-grid { grid-template-columns: minmax(115px, .9fr) minmax(0, 1.3fr) minmax(95px, .7fr) 65px auto; }
.directory-card-actions { display: flex; justify-content: flex-end; gap: 8px; }
.directory-card-actions button:disabled { opacity: .45; cursor: not-allowed; }
.empty-directory { padding: 28px 15px; color: #8c969b; text-align: center; font-size: 11px; }

@media (max-width: 1100px) {
    .recipient-directory-layout { grid-template-columns: 1fr; }
    .recipient-directory-column + .recipient-directory-column { border-left: 0; border-top: 1px solid #ece8e0; }
}
@media (max-width: 820px) {
    .directory-add-form,
    .bank-directory-add-form,
    .directory-edit-grid,
    .bank-directory-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .directory-add-form .save-button { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
    .checkout-steps.five-steps {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 5px;
    }
    .checkout-steps.five-steps i { display: none; }
    .checkout-steps.five-steps span { justify-content: center; min-height: 32px; padding: 5px; border-radius: 8px; background: rgba(255,255,255,.55); }
    .recipient-checkout-card { padding: 27px 19px; }
    .directory-add-form,
    .bank-directory-add-form,
    .directory-edit-grid,
    .bank-directory-edit-grid { grid-template-columns: 1fr; }
    .directory-add-form .save-button { grid-column: auto; }
    .directory-card-actions { justify-content: stretch; }
    .directory-card-actions button { flex: 1; }
}


/* v2.16.2 — Credit Point activity date filters and pagination */
.credit-activity-section { display: grid; gap: 0; margin-top: 2px; }
.credit-activity-title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 12px;
}
.credit-activity-title h3 { margin: 0; font: 700 15px Manrope, sans-serif; }
.credit-activity-title p { margin: 4px 0 0; color: #000; font-size: 13px; }
.credit-activity-title > span { color: #7d878c; font-size: 10px; font-weight: 800; white-space: nowrap; }
.credit-activity-filter-bar { border-bottom: 0; }
.credit-custom-date { transition: opacity .18s ease; }
.credit-custom-date.is-disabled { opacity: .42; }
.credit-activity-filter-summary { margin-bottom: 8px; }
.credit-activity-pagination { margin-top: 8px; }
.credit-activity-empty {
    padding: 18px;
    border: 1px solid #e4dfd5;
    border-radius: 12px;
    color: #7f898e;
    background: #fcfbf8;
    font-size: 11px;
    text-align: center;
}
@media (max-width: 680px) {
    .credit-activity-title { align-items: flex-start; flex-direction: column; }
}


/* v2.16.3 — server-side slip watermarking and completed-transfer Remark */
.completed-slip-remark-form { display: grid; gap: 6px; padding-top: 7px; border-top: 1px solid #d8e6de; }
.completed-slip-remark-form label { display: grid; gap: 5px; }
.completed-slip-remark-form label > span { color: #315949; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.completed-slip-remark-form textarea {
    width: 100%;
    min-height: 68px;
    resize: vertical;
    border: 1px solid #cbdcd3;
    border-radius: 8px;
    padding: 8px;
    background: #fff;
    color: #20363e;
    font: 500 13px/1.45 DM Sans, sans-serif;
}
.completed-slip-remark-form small { color: #000; font-size: 12px; line-height: 1.4; }
.completed-slip-remark-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 2px; }
.completed-slip-remark-actions .save-button { flex: 0 0 auto; }
.completed-slip-remark-status {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}
.completed-slip-remark-status[hidden] { display: none; }
.completed-slip-remark-status.is-success { border-color: #9cd7b6; color: #17683f; background: #e5f7ed; }
.completed-slip-remark-status.is-error { border-color: #e2aaa4; color: #9a3029; background: #fff0ee; }
.completed-transfer-remark {
    display: grid;
    gap: 5px;
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid #cfe2d8;
    border-radius: 12px;
    background: #eff8f3;
}
.completed-transfer-remark span { color: #48705f; font-size: 9px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.completed-transfer-remark strong { color: #203e32; font-size: 11px; line-height: 1.55; overflow-wrap: anywhere; }
.completion-page-remark { margin: 14px 0; }

/* v2.16.4 — Customer language selector */
.bbg-language-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 999px;
    background: rgba(255,255,255,.07);
    color: inherit;
    flex: 0 0 auto;
}
.bbg-language-icon {
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
}
.bbg-language-select {
    max-width: 122px;
    height: 34px;
    padding: 0 22px 0 0;
    border: 0;
    outline: 0;
    color: inherit;
    background: transparent;
    font: 700 11px/1 "DM Sans", sans-serif;
    cursor: pointer;
}
.bbg-language-select option { color: #17272e; background: #fff; }
.account-header .bbg-language-switcher,
.checkout-header .bbg-language-switcher,
.customer-auth-card .bbg-language-switcher {
    border-color: #d8d2c7;
    color: #34464e;
    background: rgba(255,255,255,.86);
}
.checkout-header .bbg-language-switcher { margin-left: auto; margin-right: 14px; }
.customer-auth-card .bbg-language-switcher-auth {
    width: max-content;
    margin: -12px 0 18px auto;
}
.bbg-language-switcher-floating {
    position: fixed;
    z-index: 1000;
    top: 18px;
    right: 18px;
    border-color: #d8d2c7;
    color: #34464e;
    background: rgba(255,255,255,.94);
    box-shadow: 0 8px 28px rgba(16,30,38,.12);
}
html[data-bbg-language="zh"] body,
html[data-bbg-language="th"] body,
html[data-bbg-language="ko"] body { word-break: normal; }

@media (max-width: 820px) {
    .site-header .bbg-language-switcher { min-height: 34px; }
    .site-header .bbg-language-select { max-width: 102px; font-size: 10px; }
}
@media (max-width: 620px) {
    .site-header .header-actions { width: min(100%, 245px); }
    .site-header .bbg-language-switcher { align-self: flex-end; }
    .account-header nav { gap: 7px; }
    .account-header .bbg-language-switcher { min-height: 34px; padding-inline: 8px; }
    .account-header .bbg-language-select { max-width: 92px; font-size: 10px; }
    .checkout-header { flex-wrap: wrap; gap: 10px; }
    .kyc-page-header-meta { gap: 10px; }
    .checkout-header .bbg-language-switcher { order: 3; width: max-content; margin: 0 0 0 auto; }
}


/* v2.16.5 — Admin language selector */
.bbg-admin-language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 5px 10px;
    border: 1px solid rgba(23, 39, 46, .14);
    border-radius: 12px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 8px 24px rgba(20, 34, 40, .07);
    margin-left: auto;
    flex: 0 0 auto;
}
.bbg-admin-language-select {
    max-width: 118px;
    border: 0;
    outline: 0;
    background: transparent;
    color: #17272e; font: 700 14px/1.2 "DM Sans", sans-serif;
    cursor: pointer;
}
.bbg-admin-language-select option { color: #17272e; background: #fff; }
.admin-header .bbg-admin-language-switcher { align-self: flex-start; }
.bbg-admin-language-switcher-login { width: max-content; margin: 0 0 18px auto; }
.bbg-admin-language-switcher-floating { position: fixed; top: 18px; right: 18px; z-index: 50; }
html[data-bbg-admin-language="zh"] body { word-break: normal; }
@media (max-width: 760px) {
    .admin-header .bbg-admin-language-switcher { width: max-content; margin: 8px 0 0; }
    .bbg-admin-language-switcher-login { margin-bottom: 14px; }
}


/* v2.16.6 master Countries catalogue */
.country-catalogue-panel {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(15, 23, 42, .12);
}
.country-catalogue-add-form {
    grid-template-columns: minmax(0, 1.6fr) minmax(80px, .55fr) 80px auto auto;
    margin-top: 16px;
}
.country-record-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.recipient-bank-only-layout {
    grid-template-columns: minmax(0, 1fr);
}
#recipientCountryDisplay[readonly] {
    background: #f8fafc;
    color: #334155;
    cursor: default;
}
@media (max-width: 900px) {
    .country-record-grid {
        grid-template-columns: 1fr;
    }
}


/* BBG Exchange Master v2.16.7 — country bank accounts, transfer types and merged slip upload */
.pair-create-panel {
    grid-template-columns: minmax(210px, 1.35fr) minmax(95px, .55fr) minmax(95px, .55fr) minmax(145px, .78fr) minmax(145px, .78fr) minmax(145px, .78fr) auto auto;
}
.currency-pair-table { min-width: 1320px; }
.fee-table-note { display: block; margin-top: 6px; color: #000; font-size: 12px; }
.transfer-type-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
    padding: 0;
    border: 0;
}
.transfer-type-options legend {
    grid-column: 1 / -1;
    margin-bottom: 2px; color: #ff3314; font-size: 13px;
    font-weight: 800;
    padding-bottom: 5px;
}
.transfer-type-option { position: relative; cursor: pointer; }
.transfer-type-option input { position: absolute; opacity: 0; pointer-events: none; }
.transfer-type-option > span {
    display: grid;
    gap: 5px;
    min-height: 82px;
    padding: 17px;
    border: 1px solid #d9d4ca;
    border-radius: 13px;
    background: #faf8f3;
    transition: .18s ease;
}
.transfer-type-option strong { color: #253941; font: 800 13px Manrope, sans-serif; }
.transfer-type-option small {color: #000; font-size: 14px; }
.transfer-type-option.is-active > span,
.transfer-type-option input:focus-visible + span {
    border-color: #b99353;
    background: #fff8ea;
    box-shadow: 0 0 0 3px rgba(185,147,83,.12);
}
.payment-transfer-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}
.payment-transfer-summary > div {
    display: grid;
    gap: 5px;
    padding: 15px 16px;
    border: 1px solid #e0ddd6;
    border-radius: 13px;
    background: #faf9f6;
}
.payment-transfer-summary span { color: #7e898e; font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.payment-transfer-summary strong { color: #263b43; font: 800 14px Manrope, sans-serif; overflow-wrap: anywhere; }
.merged-slip-upload {
    display: grid;
    grid-template-columns: minmax(220px, .9fr) minmax(300px, 1.3fr);
    gap: 18px;
    align-items: center;
    margin-top: 4px;
    padding: 19px;
    border: 1px solid #dfd9cd;
    border-radius: 15px;
    background: linear-gradient(135deg, #fbf8f1, #f7faf9);
}
.merged-slip-upload h2 { margin: 5px 0 6px; font-size: 18px; }
.merged-slip-upload p { margin: 0; font-size: 13px; }
.compact-upload-zone { min-height: 145px; margin: 0; }
.bbg-bank-country-list { display: grid; gap: 14px; padding: 22px 26px 28px; }
.bbg-bank-country-group {
    overflow: hidden;
    border: 1px solid #dfdbd2;
    border-radius: 15px;
    background: #fcfaf6;
}
.bbg-bank-country-group[data-inactive="1"] { opacity: .68; }
.bbg-bank-country-group > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 19px;
    background: #f8f4eb;
    cursor: pointer;
    list-style: none;
}
.bbg-bank-country-group > summary::-webkit-details-marker { display: none; }
.bbg-bank-country-group > summary span { display: grid; gap: 3px; }
.bbg-bank-country-group > summary strong { font: 800 15px Manrope, sans-serif; }
.bbg-bank-country-group > summary small { color: #000; font-size: 13px; }
.bbg-bank-country-group > summary b { color: #8b6733; font-size: 10px; text-transform: uppercase; letter-spacing: .06em; }
.bbg-bank-country-group .bbg-bank-admin-grid { padding: 18px; }
@media (max-width: 1180px) {
    .pair-create-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .pair-create-copy { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .pair-create-panel,
    .transfer-type-options,
    .payment-transfer-summary,
    .merged-slip-upload { grid-template-columns: 1fr; }
    .pair-create-copy { grid-column: auto; }
    .bbg-bank-country-list { padding: 16px; }
    .bbg-bank-country-group > summary { align-items: flex-start; }
}


/* v2.16.15 — wide admin workspace, slide-in burger menu, panel navigation, and customer collapsible sections */
.admin-page { min-width: 0; }
.admin-page.admin-drawer-open { overflow: hidden; }
.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 1100;
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    min-height: 72px;
    padding: 10px clamp(16px, 3vw, 42px);
    border-bottom: 1px solid rgba(12,23,32,.08);
    background: rgba(247,244,238,.94);
    box-shadow: 0 8px 26px rgba(18,30,38,.07);
    backdrop-filter: blur(18px);
}
.admin-menu-toggle {
    display: grid;
    gap: 5px;
    place-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid #d9d3c8;
    border-radius: 12px;
    background: white;
    box-shadow: 0 8px 22px rgba(18,30,38,.06);
}
.admin-menu-toggle span { display: block; width: 19px; height: 2px; border-radius: 2px; background: #17303a; transition: transform .2s ease; }
.admin-menu-toggle:hover { border-color: #c9a66d; background: #fffcf6; }
.admin-topbar-brand { display: inline-flex; align-items: center; }
.brand-logo-topbar { width: 118px; max-height: 44px; object-fit: contain; }
.admin-topbar-context { min-width: 0; padding-left: 14px; border-left: 1px solid #ddd8ce; }
.admin-topbar-context span, .admin-topbar-context strong { display: block; }
.admin-topbar-context span {color: #ff3314; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.admin-topbar-context strong { margin-top: 3px; overflow: hidden; color: #21353d; font: 800 14px Manrope, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.admin-topbar-user { display: flex; align-items: center; gap: 10px; }
.admin-topbar-user > div strong, .admin-topbar-user > div small { display: block; }
.admin-topbar-user > div strong { font-size: 11px; }
.admin-topbar-user > div small { margin-top: 2px; color: #ff3314; font-size: 11px; font-weight: bold; }
.admin-topbar-user > a { margin-left: 7px; padding: 9px 11px; border: 1px solid #d8d2c7; border-radius: 9px; color: #66747a; background: white; font-size: 12px; font-weight: 800; }
.admin-topbar-avatar { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #17252a; background: linear-gradient(135deg, #f1d8a6, #c9a66b); font-size: 12px; font-weight: 900; }
.admin-drawer-backdrop { position: fixed; inset: 0; z-index: 1190; opacity: 0; background: rgba(5,15,20,.52); backdrop-filter: blur(3px); transition: opacity .22s ease; }
.admin-drawer-backdrop.is-visible { opacity: 1; }
.admin-drawer {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1200;
    display: flex;
    flex-direction: column;
    width: min(330px, 88vw);
    padding: 22px 18px 18px;
    overflow-y: auto;
    color: white;
    background: linear-gradient(180deg, #0b1d25 0%, #102832 100%);
    box-shadow: 24px 0 70px rgba(3,12,16,.28);
    transform: translateX(-105%);
    transition: transform .25s ease;
}
.admin-drawer.is-open { transform: translateX(0); }
.admin-drawer-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 2px 4px 20px; border-bottom: 1px solid rgba(255,255,255,.1); }
.brand-logo-drawer { width: 145px; max-height: 52px; object-fit: contain; }
.admin-drawer-close { width: 38px; height: 38px; padding: 0; border: 1px solid rgba(255,255,255,.14); border-radius: 11px; color: white; background: rgba(255,255,255,.06); font-size: 25px; line-height: 1; }
.admin-drawer-nav { display: grid; gap: 5px; margin: 18px 0; }
.admin-drawer-nav a { display: grid; grid-template-columns: 34px minmax(0,1fr); align-items: center; gap: 10px; min-height: 44px; padding: 7px 11px; border-radius: 11px; color: #fff; font-size: 15px; font-weight: 700; }
.admin-drawer-nav a:hover, .admin-drawer-nav a.active {color: #dbbc85; background: rgba(255,255,255,.09); }
.admin-nav-index { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; color: rgba(255,255,255,.42); background: rgba(0,0,0,.08); font-size: 8px; letter-spacing: .08em; }
.admin-drawer-nav a.active .admin-nav-index { border-color: rgba(239,210,157,.52); color: #f0d39d; background: rgba(201,166,107,.13); }
.admin-drawer-footer { display: grid; gap: 12px; margin-top: auto; padding: 17px 5px 2px; border-top: 1px solid rgba(255,255,255,.1); }
.admin-drawer-footer > a:first-child { color: #e8cc98; font-size: 11px; font-weight: 800; }
.admin-drawer-footer > div { display: flex; align-items: center; gap: 10px; }
.admin-drawer-footer p { margin: 0; }
.admin-drawer-footer p strong, .admin-drawer-footer p small { display: block; }
.admin-drawer-footer p strong { font-size: 11px; }
.admin-drawer-footer p small { margin-top: 2px; color: rgba(255,255,255,.45); font-size: 9px; }
.admin-drawer-footer .logout-link { justify-self: start; }
.admin-layout { display: block; min-height: calc(100vh - 72px); }
.admin-main { width: min(100%, 1800px); margin: 0 auto; padding: 32px clamp(18px, 3.2vw, 52px) 64px; }
.admin-header { margin-bottom: 24px; }
.admin-panel { display: none !important; margin-top: 0; scroll-margin-top: 95px; }
.admin-panel.is-active { display: block !important; animation: adminPanelIn .18s ease-out; }
.stats-grid.admin-panel.is-active { display: grid !important; }
.settings-card.admin-panel.is-active, .mail-settings-card.admin-panel.is-active, .security-card.admin-panel.is-active { display: grid !important; }
@keyframes adminPanelIn { from { opacity: .45; transform: translateY(4px); } to { opacity: 1; transform: translateY(0); } }
.admin-panel > .admin-card-head:first-child { border-radius: 18px 18px 0 0; }
.admin-main > .alert + .admin-panel, .admin-main > .alert + .alert + .admin-panel { margin-top: 0; }

.account-collapsible { display: block; margin-bottom: 24px; overflow: hidden; }
.account-collapsible.credit-transfer-card { display: block; }
.account-collapse-summary { position: relative; cursor: pointer; list-style: none; user-select: none; transition: background .2s ease; }
.account-collapse-summary::-webkit-details-marker { display: none; }
.account-collapse-summary:hover { background: linear-gradient(135deg, #fffdf8, #f5f0e6); }
.account-collapsible[open] > .account-collapse-summary { border-bottom: 1px solid #e8e3da; background: linear-gradient(135deg, #fffdf8, #f7f2e8); }
.account-collapse-meta { display: flex; align-items: center; justify-content: flex-end; gap: 12px; }
.account-collapse-action { display: inline-flex; align-items: center; gap: 9px; min-width: 92px; justify-content: flex-end; color: #000; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.account-collapse-action i { position: relative; display: block; width: 31px; height: 31px; border: 1px solid #d7d0c4; border-radius: 50%; background: white; box-shadow: 0 7px 18px rgba(20,32,40,.06); }
.account-collapse-action i::before { content: "+"; position: absolute; inset: 0; display: grid; place-items: center; color: #273d45; font: 500 20px/1 Arial, sans-serif; transition: transform .2s ease; }
.account-collapsible[open] .account-collapse-action i::before { content: "−"; transform: rotate(180deg); }
.account-collapse-body { display: grid; gap: 18px; padding: 20px; background: white; }
.account-collapse-body .credit-transfer-form { margin: 0; }
.account-collapse-body .credit-activity-section { margin-top: 0; }

.password-change-card { transition: border-color .25s ease, box-shadow .25s ease, background .25s ease; }
.password-change-card.is-success { border-color: #78c99d; background: #effaf4; box-shadow: 0 18px 50px rgba(28, 128, 78, .16); }
.password-change-card.is-success > .account-collapse-summary,
.password-change-card.is-success[open] > .account-collapse-summary,
.password-change-card.is-success > .account-collapse-summary:hover { border-bottom-color: #b9e5cc; background: linear-gradient(135deg, #e8f8ef, #dff3e8); }
.password-change-card.is-success .card-kicker,
.password-change-card.is-success .profile-card-head h2 { color: #17683f; }
.password-change-card.is-success .profile-card-head p { color: #315f49; }
.password-change-card.is-success .account-collapse-body { background: #f6fcf8; }
.password-change-card.is-success .account-collapse-action { color: #17683f; }
.password-change-card.is-success .account-collapse-action i { border-color: #78c99d; background: #fff; }
.password-change-card.is-success .account-collapse-action i::before { color: #17683f; }
.password-change-success-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #9cd7b6; border-radius: 999px; background: rgba(255,255,255,.75); color: #17683f; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.password-change-success-badge > span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #238b57; color: #fff; font-size: 12px; }
.password-change-success-message { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid #9cd7b6; border-radius: 14px; background: #e5f7ed; color: #17683f; }
.password-change-success-icon { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #238b57; color: #fff; font-size: 20px; font-weight: 900; box-shadow: 0 7px 16px rgba(35,139,87,.22); }
.password-change-success-message strong { display: block; font: 800 15px/1.3 Manrope, sans-serif; }
.password-change-success-message small { display: block; margin-top: 3px; color: #397158; font-size: 12px; line-height: 1.45; }
.account-section-count { padding: 7px 11px; border: 1px solid #ddd5c8; border-radius: 999px; color: #6e5a37; background: #fffaf0; font-size: 13px; font-weight: 900; white-space: nowrap; }
.history-collapse-card { border-color: rgba(12,23,32,.08); }
.history-collapse-body { gap: 0; }
.history-record-tools { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-bottom: 12px; }
.history-record-tools > span { color: #7f898e; font-size: 10px; font-weight: 800; }
.history-collapse-body .order-list { margin-top: 18px; }
.history-collapse-body .empty-account { margin-top: 18px; }

@media (max-width: 820px) {
    .admin-topbar { grid-template-columns: auto auto minmax(0,1fr); min-height: 66px; padding: 9px 14px; }
    .brand-logo-topbar { width: 102px; }
    .admin-topbar-user { display: none; }
    .admin-main { padding: 24px 14px 50px; }
    .admin-header h1 { font-size: 29px; }
}
@media (max-width: 620px) {
    .admin-topbar { gap: 10px; }
    .admin-topbar-context { padding-left: 10px; }
    .admin-topbar-context span { display: none; color: #ff3314; font-size: 11px; }
    .brand-logo-topbar { width: 88px; }
    .account-collapse-summary { flex-direction: column; }
    .account-collapse-meta { width: 100%; justify-content: space-between; }
    .account-collapse-body { padding: 15px; }
    .history-record-tools { align-items: stretch; flex-direction: column; }
    .history-record-tools .record-toggle-button { justify-content: center; }
}

/* BBG Exchange Master v2.16.19 — conversion request status cards and WhatsApp copy */
.admin-order-status-groups {
    display: grid;
    gap: 16px;
    margin-top: 18px;
}
.admin-order-status-card {
    overflow: hidden;
    border: 1px solid rgba(12, 23, 32, .1);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(12, 23, 32, .06);
}
.admin-order-status-card.status-pending { border-color: rgba(184, 132, 37, .28); }
.admin-order-status-card.status-approved { border-color: rgba(35, 114, 91, .28); }
.admin-order-status-card.status-waiting { border-color: rgba(146, 84, 70, .24); }
.admin-order-status-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    min-height: 76px;
    padding: 17px 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
    background: linear-gradient(135deg, #fff, #faf7f0);
    transition: background .2s ease;
}
.admin-order-status-summary::-webkit-details-marker { display: none; }
.admin-order-status-summary:hover { background: linear-gradient(135deg, #fffdf8, #f3ede1); }
.admin-order-status-card[open] > .admin-order-status-summary {
    border-bottom: 1px solid rgba(12, 23, 32, .08);
    background: linear-gradient(135deg, #fffdf8, #f5efe4);
}
.admin-order-status-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}
.admin-order-status-heading > span:last-child { min-width: 0; }
.admin-order-status-heading strong,
.admin-order-status-heading small { display: block; }
.admin-order-status-heading strong {
    color: #14242c;
    font: 800 17px/1.25 Manrope, sans-serif;
}
.admin-order-status-heading small {
    margin-top: 4px;
    color: #ff3314;
    font-size: 14px;
}
.admin-order-status-dot {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    border-radius: 50%;
    background: #87949a;
    box-shadow: 0 0 0 6px rgba(135, 148, 154, .12);
}
.admin-order-status-card.status-pending .admin-order-status-dot { background: #bd8b2f; box-shadow: 0 0 0 6px rgba(189, 139, 47, .13); }
.admin-order-status-card.status-approved .admin-order-status-dot { background: #23725b; box-shadow: 0 0 0 6px rgba(35, 114, 91, .13); }
.admin-order-status-card.status-waiting .admin-order-status-dot { background: #a25f50; box-shadow: 0 0 0 6px rgba(162, 95, 80, .12); }
.admin-order-status-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
    color: #000;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-order-status-toggle i {
    position: relative;
    width: 31px;
    height: 31px;
    border: 1px solid #d7d0c4;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 7px 18px rgba(20, 32, 40, .06);
}
.admin-order-status-toggle i::before {
    content: "+";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #273d45;
    font: 500 20px/1 Arial, sans-serif;
    transition: transform .2s ease;
}
.admin-status-collapse-label { display: none; }
.admin-order-status-card[open] .admin-status-expand-label { display: none; }
.admin-order-status-card[open] .admin-status-collapse-label { display: inline; }
.admin-order-status-card[open] .admin-order-status-toggle i::before { content: "−"; transform: rotate(180deg); }
.admin-order-status-body { padding: 16px; background: #fff; }
.admin-order-status-body .rate-table-wrap { border: 1px solid rgba(12, 23, 32, .08); border-radius: 13px; }
.admin-order-download-button {
    position: relative;
    isolation: isolate;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-width: 116px;
    min-height: 40px;
    margin-top: 12px;
    padding: 0 16px;
    overflow: hidden;
    border: 1px solid #d5b86f;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(145deg, #314751 0%, #17272e 54%, #0f1c22 100%);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .015em;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12), 0 9px 20px rgba(15, 28, 34, .22);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.admin-order-download-button::after {
    position: absolute;
    z-index: 0;
    top: -55%;
    left: -38%;
    width: 34px;
    height: 210%;
    content: "";
    background: rgba(255, 255, 255, .14);
    transform: rotate(22deg) translateX(-56px);
    transition: transform .42s ease;
}
.admin-order-download-button:hover {
    transform: translateY(-2px);
    border-color: #e4ca8d;
    color: #fff;
    background: linear-gradient(145deg, #3b545f 0%, #1b3038 56%, #12232a 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 13px 27px rgba(15, 28, 34, .30);
}
.admin-order-download-button:hover::after { transform: rotate(22deg) translateX(190px); }
.admin-order-download-button:active {
    transform: translateY(0);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 5px 12px rgba(15, 28, 34, .24);
}
.admin-order-download-button:focus-visible {
    outline: 3px solid rgba(213, 184, 111, .40);
    outline-offset: 3px;
}
.admin-order-download-icon,
.admin-order-download-label {
    position: relative;
    z-index: 1;
}
.admin-order-download-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: #ead294;
}
.admin-order-download-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.admin-order-download-button.is-preparing {
    cursor: progress;
    border-color: #cdb574;
    background: linear-gradient(145deg, #2c414a, #15272e);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .10), 0 7px 16px rgba(15, 28, 34, .22);
}
.admin-order-download-button.is-preparing .admin-order-download-icon svg { display: none; }
.admin-order-download-button.is-preparing .admin-order-download-icon::after {
    width: 13px;
    height: 13px;
    border: 2px solid rgba(234, 210, 148, .38);
    border-top-color: #ead294;
    border-radius: 50%;
    content: "";
    animation: admin-order-download-spin .7s linear infinite;
}
@keyframes admin-order-download-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .admin-order-download-button,
    .admin-order-download-button::after { transition: none; }
    .admin-order-download-button.is-preparing .admin-order-download-icon::after { animation-duration: 1.4s; }
}
.admin-orders-empty { margin-top: 18px; border: 1px dashed rgba(12, 23, 32, .14); border-radius: 14px; background: #fff; }

@media (max-width: 720px) {
    .admin-order-status-summary { align-items: flex-start; padding: 15px; }
    .admin-order-status-heading strong { font-size: 15px; }
    .admin-order-status-toggle { font-size: 13px; }
    .admin-order-status-body { padding: 10px; }
}


/* v2.16.20 — country image management and bank-country heading thumbnails */
.country-catalogue-add-form {
    grid-template-columns: minmax(0, 1.35fr) minmax(80px, .5fr) minmax(190px, 1.2fr) 80px auto auto;
}
.country-image-upload-field > small {
    color: #000;
    font-size: 11px;
    line-height: 1.35;
}
.country-directory-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}
.country-directory-image {
    width: 64px;
    height: 64px;
    flex: 0 0 64px;
    border: 1px solid #ddd7cb;
    border-radius: 30px;
    object-fit: cover;
    background: #f7f3ea;
    box-shadow: 0 6px 18px rgba(19, 37, 45, .08);
}
.country-directory-image-placeholder,
.bbg-bank-country-image-placeholder {
    display: inline-grid;
    place-items: center;
    color: #8b6733;
    font-size: 25px;
}
.country-directory-edit-grid {
    grid-template-columns: minmax(0, 1.25fr) 75px minmax(180px, 1fr) 70px auto;
}
.country-image-remove-check {
    width: max-content;
    max-width: 100%;
}
.bbg-bank-country-summary-main {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}
.bbg-bank-country-image {
    width: 56px;
    height: 56px;
    flex: 0 0 56px;
    border: 1px solid #d8d0c1;
    border-radius: 30px;
    object-fit: cover;
    background: #fff;
    box-shadow: 0 5px 14px rgba(19, 37, 45, .08);
}
.bbg-bank-country-image-placeholder { font-size: 22px; }
@media (max-width: 1180px) {
    .country-catalogue-add-form,
    .country-directory-edit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
    .country-catalogue-add-form,
    .country-directory-edit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .country-catalogue-add-form,
    .country-directory-edit-grid { grid-template-columns: 1fr; }
    .country-directory-image { width: 56px; height: 56px; flex-basis: 56px; }
    .bbg-bank-country-group > summary { align-items: center; }
    .bbg-bank-country-group > summary > b { align-self: center; }
}


/* BBG Exchange Master v2.16.25 — admin/customer typography and checkout success states */
.catalogue-currency-cell small { color: #000; font-size: 12px; }
.catalogue-number-fields span { color: #000; font-size: 12px; }
.currency-create-copy small { color: #000; font-size: 13px; }
.currency-create-copy strong { font: 700 15px Manrope, sans-serif; }
.currency-create-panel label > span { color: #000; font-size: 11px; }
.save-button { font-size: 14px; }
.bbg-bank-admin-head span { font-size: 13px; }
.bbg-bank-admin-head strong { font: 800 16px Manrope, sans-serif; }
.bbg-bank-admin-head small { font-size: 14px; }
.bbg-bank-admin-card label > span { color: #000; font-size: 14px; }
.bbg-bank-country-group > summary b { font-size: 14px; }
.bbg-bank-country-group > summary small { font-size: 14px; }
.report-panel-copy p { font-size: 14px; }
.report-panel-copy small { font-size: 14px; }
.report-period-field span { font-size: 15px; }
.report-period-field span small { font-size: 15px; }
.report-definition-note { font-size: 15px; }
.report-total-pill span { margin-top: 2px; color: #000; }
.setting-toggle strong { font-size: 15px; }
.setting-toggle small { color: #000; font-size: 14px; }
.settings-card p { color: #000; font-size: 14px; }
.mail-settings-intro > p { color: #000; font-size: 14px; }
.mail-setting-status strong { font-size: 14px; }
.mail-setting-status span { color: #000; font-size: 14px; }
.mail-security-note { font-size: 14px; }
.api-scope-grid small { font-size: 14px; }
.api-management-form label > span small { color: #000; }
.api-scope-grid strong { font: 700 16px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.api-integration-summary code { color: #000; font-size: 14px; }
.api-endpoint-grid p { color: #000; font-size: 14px; }
.api-endpoint-grid small { font-size: 14px; }
.api-endpoint-grid strong { font: 700 16px ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.api-safety-note { font-size: 13px; }
.api-code-example pre { font-size: 15px; }
.api-code-example > span { font-size: 14px; }
.api-management-form label > span, .api-scope-fieldset legend { font-size: 14px; }
.api-metadata { color: #000; font-size: 13px; }
.stats-grid span, .stats-grid small { color: #000; font-size: 14px; }
.upload-zone small { color: #000; font-size: 14px; }
.upload-zone em { font-size: 16px; }
.mini-order-summary span:last-child { color: green; font-size: 20px; text-align: center; }
.transfer-method-tab small { color: #000; font-size: 14px; }
.transfer-method-tab strong { font-size: 16px; }
.bank-transfer-grid label > span, .wallet-passcode-field > span { color: #000; font-size: 14px; }
.upload-zone.is-file-ready { border-color: #2e8b57; background: #f1fbf5; }
.upload-zone.is-file-ready .upload-icon { color: #fff; background: #2e8b57; }
.upload-zone.is-file-ready #selectedFile { color: green; font-size: 16px; font-weight: 700; }
.upload-done-status { display: none; margin-top: 6px; color: green; font-size: 16px; font-weight: 800; }
.upload-zone.is-file-ready .upload-done-status { display: block; }
.auto-transfer-amount { display: grid; gap: 5px; min-height: 46px; align-content: center; padding: 8px 12px; border: 1px solid #d9d4ca; border-radius: 11px; background: #f7fbf8; }
.auto-transfer-amount strong { color: green; font: 800 16px Manrope, sans-serif; }
.auto-transfer-amount small { color: #000; font-size: 12px; }

/* v2.16.37 smooth, low-lag global currency motion */
.customer-page::before {
    content: "";
    position: fixed;
    inset: -5%;
    z-index: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(7, 18, 25, .16), rgba(7, 18, 25, .52)),
        url("../images/global-currency-bg.svg") center 42% / min(1600px, 125vw) auto no-repeat;
    opacity: .92;
    transform: translate3d(0, 0, 0) scale(1.045);
    transform-origin: center;
    backface-visibility: hidden;
    will-change: transform, opacity;
    contain: paint;
    animation: currency-world-float 38s cubic-bezier(.45, 0, .55, 1) infinite alternate;
}
.customer-page::after {
    content: "";
    position: fixed;
    inset: -15%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 32%, rgba(255, 226, 157, .32), transparent 19%),
        radial-gradient(circle at 78% 64%, rgba(201, 166, 107, .25), transparent 22%),
        linear-gradient(112deg, transparent 32%, rgba(255, 225, 158, .075) 48%, transparent 64%);
    opacity: .46;
    transform: translate3d(-2%, 0, 0) scale(1.02);
    backface-visibility: hidden;
    will-change: transform, opacity;
    contain: paint;
    animation: gold-ambient-float 24s ease-in-out infinite alternate;
}
.converter-hero {
    min-height: 650px;
    display: grid;
    grid-template-columns: minmax(0, 610px);
    justify-content: center;
    align-items: center;
    padding: 58px 0 86px;
    isolation: isolate;
}
.global-currency-scene {
    position: absolute;
    inset: -65px -210px -45px;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    border-radius: 50%;
    background:
        radial-gradient(circle at center, rgba(244, 214, 150, .16), rgba(201, 166, 107, .045) 40%, transparent 68%),
        repeating-radial-gradient(circle at center, rgba(234, 213, 174, .07) 0 1px, transparent 1px 62px);
    opacity: .84;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    contain: paint;
}
.global-currency-scene::before,
.global-currency-scene::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
    will-change: transform;
}
.global-currency-scene::before {
    inset: 12%;
    border: 1px solid rgba(234, 213, 174, .18);
    background:
        conic-gradient(from 25deg, transparent 0 15%, rgba(234, 213, 174, .34) 17%, transparent 20% 48%, rgba(201, 166, 107, .22) 51%, transparent 55% 79%, rgba(255, 226, 157, .25) 82%, transparent 85% 100%);
    animation: gold-orbit-slow 64s linear infinite;
}
.global-currency-scene::after {
    inset: 26%;
    border: 1px dashed rgba(234, 213, 174, .22);
    animation: gold-orbit-reverse-slow 48s linear infinite;
}
.converter-hero .converter-card {
    width: 100%;
    max-width: 610px;
    margin-inline: auto;
    box-shadow: 0 36px 110px rgba(0, 0, 0, .34), 0 0 0 1px rgba(255, 255, 255, .10), 0 0 38px rgba(201, 166, 107, .10);
}
.converter-hero + .currency-strip { margin-top: 0; }

@keyframes currency-world-float {
    from { transform: translate3d(-1.1%, -.35%, 0) scale(1.045); opacity: .88; }
    to { transform: translate3d(1.1%, .45%, 0) scale(1.06); opacity: .96; }
}
@keyframes gold-ambient-float {
    from { transform: translate3d(-2.5%, -1%, 0) scale(1.01); opacity: .34; }
    to { transform: translate3d(2.5%, 1.2%, 0) scale(1.035); opacity: .52; }
}
@keyframes gold-orbit-slow {
    to { transform: translate3d(0, 0, 0) rotate(360deg); }
}
@keyframes gold-orbit-reverse-slow {
    to { transform: translate3d(0, 0, 0) rotate(-360deg); }
}

.customer-page.motion-paused::before,
.customer-page.motion-paused::after,
.customer-page.motion-paused .global-currency-scene::before,
.customer-page.motion-paused .global-currency-scene::after,
.customer-page.motion-paused .home-login-card::before {
    animation-play-state: paused !important;
}
.customer-page.motion-low-power::after,
.customer-page.motion-low-power .global-currency-scene::after,
.customer-page.motion-low-power .ambient {
    display: none;
}
.customer-page.motion-low-power::before { animation-duration: 56s; }
.customer-page.motion-low-power .global-currency-scene::before { animation-duration: 90s; }

@media (max-width: 820px) {
    .converter-hero {
        grid-template-columns: minmax(0, 600px);
        min-height: auto;
        padding: 46px 0 72px;
    }
    .customer-page::before {
        background-size: 1280px auto;
        opacity: .76;
        animation-duration: 52s;
    }
    .customer-page::after { opacity: .30; animation-duration: 34s; }
    .global-currency-scene { inset: -40px -130px -25px; opacity: .68; }
    .global-currency-scene::after { display: none; }
}

@media (max-width: 620px) {
    .converter-hero { padding: 28px 0 56px; }
    .customer-page::before {
        background-size: 1000px auto;
        opacity: .58;
        animation-duration: 64s;
    }
    .customer-page::after,
    .global-currency-scene,
    .ambient { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .customer-page::before,
    .customer-page::after,
    .global-currency-scene::before,
    .global-currency-scene::after,
    .home-login-card::before {
        animation: none !important;
    }
}

/* v2.16.28 homepage customer login gate */
.home-access-stack {
    width: 100%;
    max-width: 610px;
    display: grid;
    gap: 22px;
    margin-inline: auto;
}
.home-login-card {
    position: relative;
    z-index: 3;
    padding: 28px 30px;
    overflow: hidden;
    border: 1px solid rgba(234, 213, 174, .55);
    border-radius: 24px;
    background:
        linear-gradient(135deg, rgba(7, 19, 27, .97), rgba(16, 39, 50, .95)),
        radial-gradient(circle at 90% 10%, rgba(201, 166, 107, .30), transparent 38%);
    box-shadow: 0 28px 86px rgba(0, 0, 0, .38), 0 0 42px rgba(201, 166, 107, .15);
    color: #fff;
}
.home-login-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 0 35%, rgba(255, 229, 170, .10) 48%, transparent 61% 100%);
    transform: translateX(-115%);
    animation: home-login-gold-sweep 8s ease-in-out infinite;
}
.home-login-copy,
.home-login-form,
.home-login-alert,
.home-login-note { position: relative; z-index: 1; }
.home-login-copy .card-kicker { color: #dbbc85; }
.home-login-copy h1 {
    margin: 7px 0 7px;
    font: 800 27px/1.15 Manrope, sans-serif;
    letter-spacing: -.035em;
}
.home-login-copy p {
    max-width: 560px;
    margin: 0 0 19px;
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
    line-height: 1.55;
}
.home-login-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
}
.home-login-form label > span { color: rgba(255, 255, 255, .88); font-size: 12px; }
.home-login-form input {
    border-color: rgba(255, 255, 255, .24);
    background: rgba(255, 255, 255, .96);
    color: #071219;
}
.home-login-button {
    min-width: 145px;
    height: 48px;
    white-space: nowrap;
}
.home-login-note {
    margin: 13px 0 0;
    color: rgba(255, 255, 255, .67);
    font-size: 12px;
}
.home-login-alert { margin: 0 0 15px; }
.converter-card-locked { min-height: 480px; overflow: hidden; }
.converter-card-locked form {
    pointer-events: none;
    user-select: none;
    filter: grayscale(.3) blur(1px);
    opacity: .30;
}
.converter-login-lock {
    position: absolute;
    inset: 50% auto auto 50%;
    z-index: 5;
    width: min(340px, calc(100% - 44px));
    transform: translate(-50%, -50%);
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 24px 22px;
    text-align: center;
    border: 1px solid rgba(201, 166, 107, .45);
    border-radius: 18px;
    background: rgba(255, 253, 248, .94);
    box-shadow: 0 20px 60px rgba(7, 18, 25, .22), 0 0 32px rgba(201, 166, 107, .14);
    backdrop-filter: blur(12px);
}
.converter-lock-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ead5a2, #b98a42);
    box-shadow: 0 8px 24px rgba(185, 138, 66, .28);
    font-size: 21px;
}
.converter-login-lock strong { font: 800 18px Manrope, sans-serif; color: #071219; }
.converter-login-lock small { max-width: 270px; color: #000; font-size: 13px; line-height: 1.5; }
@keyframes home-login-gold-sweep {
    0%, 35% { transform: translateX(-115%); }
    62%, 100% { transform: translateX(115%); }
}
@media (max-width: 720px) {
    .home-login-form { grid-template-columns: 1fr; }
    .home-login-button { width: 100%; }
}
@media (max-width: 620px) {
    .home-access-stack { gap: 16px; }
    .home-login-card { padding: 23px 18px; border-radius: 20px; }
    .home-login-copy h1 { font-size: 24px; }
    .converter-card-locked { min-height: 430px; }
}
@media (prefers-reduced-motion: reduce) {
    .home-login-card::before { animation: none !important; }
}

/* v2.16.29 Customer Activities audit log */
.customer-activity-card { overflow: hidden; }
.customer-activity-head { align-items: center; }
.customer-activity-live {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 10px 14px;
    border: 1px solid rgba(35, 114, 91, .22);
    border-radius: 999px;
    background: #edf7f2;
    color: #1d624d;
    font-size: 12px;
}
.customer-activity-live span {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2fa676;
    box-shadow: 0 0 0 6px rgba(47, 166, 118, .12);
}
.customer-activity-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin: 22px 0;
}
.customer-activity-stats article {
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: linear-gradient(145deg, #fff, #faf6ee);
}
.customer-activity-stats span,
.customer-activity-stats small {
    display: block;
    color: #000;
    font-size: 12px;
}
.customer-activity-stats strong {
    display: block;
    margin: 5px 0;
    font: 800 24px Manrope, sans-serif;
    color: var(--ink);
}
.customer-activity-stats .small-stat { font-size: 15px; }
.customer-activity-filter {
    display: grid;
    grid-template-columns: 150px 145px 145px minmax(170px, 210px) minmax(220px, 1fr) auto auto;
    gap: 10px;
    align-items: end;
    padding: 16px;
    border: 1px solid rgba(201, 166, 107, .22);
    border-radius: 16px;
    background: #fbf8f1;
}
.customer-activity-filter label { display: grid; gap: 6px; }
.customer-activity-filter label > span { color: #000; font-size: 12px; font-weight: 700; }
.customer-activity-filter input,
.customer-activity-filter select {
    width: 100%;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid #d9d5ca;
    border-radius: 10px;
    background: white;
    color: #000;
    font-size: 13px;
}
.customer-activity-table-wrap {
    margin-top: 16px;
    overflow-x: auto;
    border: 1px solid var(--line);
    border-radius: 16px;
}
.customer-activity-table {
    width: 100%;
    min-width: 1050px;
    border-collapse: collapse;
    background: white;
}
.customer-activity-table th {
    padding: 13px 14px;
    text-align: left;
    background: #f3eee3;
    color: #000;
    font-size: 12px;
    letter-spacing: .03em;
}
.customer-activity-table td {
    padding: 14px;
    vertical-align: top;
    border-top: 1px solid var(--line);
}
.customer-activity-table td > strong,
.customer-activity-table td > span,
.customer-activity-table td > small { display: block; }
.customer-activity-table td > strong { font: 700 13px Manrope, sans-serif; color: #132833; }
.customer-activity-table td > span,
.customer-activity-table td > small { margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.customer-activity-type {
    display: inline-flex !important;
    width: max-content;
    margin: 0 0 7px !important;
    padding: 5px 9px;
    border-radius: 999px;
    background: #f5ead6;
    color: #805d28 !important;
    font-size: 10px !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.customer-activity-table details { margin-top: 7px; }
.customer-activity-table details summary { cursor: pointer; color: #8d672e; font-size: 12px; font-weight: 700; }
.customer-activity-table details span { display: block; margin-top: 4px; color: #000; font-size: 12px; }
.customer-activity-privacy-note {
    margin: 16px 0 0;
    padding: 12px 14px;
    border-left: 3px solid var(--gold);
    background: #fbf7ef;
    color: #000;
    font-size: 12px;
    line-height: 1.55;
}
@media (max-width: 1180px) {
    .customer-activity-filter { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .customer-activity-search { grid-column: span 2; }
}
@media (max-width: 820px) {
    .customer-activity-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .customer-activity-filter { grid-template-columns: 1fr 1fr; }
    .customer-activity-search { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .customer-activity-stats,
    .customer-activity-filter { grid-template-columns: 1fr; }
    .customer-activity-search { grid-column: auto; }
    .customer-activity-filter .primary-button,
    .customer-activity-filter .admin-filter-reset { width: 100%; text-align: center; }
}

/* v2.16.30 — authentication, recipient favourites, roles and audit logs */
.header-voucher-balance {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 7px 12px;
    border: 1px solid rgba(219, 188, 133, .55);
    border-radius: 999px;
    background: #edf5f0;
    color: #2b6955;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}
.header-voucher-balance strong { color: #f37236; font: 800 14px Manrope, sans-serif; }
.password-input-wrap { position: relative; display: block; width: 100%; }
.password-input-wrap > input { width: 100%; padding-right: 46px !important; }
.password-toggle-button {
    position: absolute;
    top: 50%;
    right: 7px;
    z-index: 2;
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    transform: translateY(-50%);
    place-items: center;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #5e6a70;
    cursor: pointer;
}
.password-toggle-button:hover,
.password-toggle-button:focus-visible { background: #f2ede4; color: #c78c31; outline: none; }
.password-toggle-button svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.forgot-password-panel { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
.forgot-password-panel summary { cursor: pointer; color: #94651f; font-size: 13px; font-weight: 800; }
.forgot-password-panel summary:focus-visible { outline: 3px solid rgba(214, 166, 84, .24); outline-offset: 4px; border-radius: 4px; }
.forgot-password-body p { margin: 10px 0 0; color: #5f6c72; font-size: 13px; line-height: 1.55; }
.forgot-password-form { display: flex; gap: 8px; margin-top: 12px; }
.forgot-password-form input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border: 1px solid #d8d4ca; border-radius: 11px; background: #fff; color: var(--ink); font: inherit; outline: 0; }
.forgot-password-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.forgot-password-form button { flex: 0 0 auto; border: 0; font: inherit; cursor: pointer; }
.forgot-password-form button:disabled { cursor: wait; opacity: .72; }
.temporary-password-notice { margin: 0 0 16px; border-left: 4px solid #d99727; }
.favorite-recipient-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.favorite-recipient-grid .full-field { grid-column: 1 / -1; }
.favorite-recipient-list { display: grid; gap: 12px; margin-top: 18px; }
.favorite-recipient-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 16px; border: 1px solid #dfd9cc; border-radius: 14px; background: #fff; }
.favorite-recipient-item strong { display: block; font: 800 15px Manrope, sans-serif; color: #17272e; }
.favorite-recipient-item span,
.favorite-recipient-item small { display: block; margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.recipient-entry-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 14px 0 18px; }
.recipient-entry-option { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; border: 1px solid #ddd5c7; border-radius: 13px; background: #fff; cursor: pointer; }
.recipient-entry-option:has(input:checked) { border-color: #d6a654; box-shadow: 0 0 0 3px rgba(214, 166, 84, .14); }
.recipient-entry-option strong { display: block; font-size: 14px; }
.recipient-entry-option small { display: block; margin-top: 3px; color: #000; font-size: 12px; }
.favorite-recipient-select { margin-bottom: 16px; }
.favorite-recipient-select select { width: 100%; }
.manual-recipient-fields.is-hidden { display: none; }
.customer-risk-badge,
.root-admin-badge,
.admin-role-badge { display: inline-flex; align-items: center; width: max-content; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.customer-risk-badge { background: #fff1ec; color: #c23b22; }
.customer-blocked-badge { background: #9f2117; color: #fff; }
.root-admin-badge { background: #efe2bd; color: #71501c; }
.admin-role-badge { background: #e8f0f2; color: #244752; }
.status-rejected { background: #ffe5df !important; color: #a52517 !important; }
.rejection-reason-input { width: 100%; min-height: 64px; margin-top: 7px; resize: vertical; }
.rejection-customer-note { margin-top: 10px; padding: 10px 12px; border-left: 3px solid #d34a34; background: #fff3f0; color: #8e2418; font-size: 12px; line-height: 1.5; }
/* v2.16.34 — completed remark-template workspace */
.remark-template-manager {
    margin: 18px 26px 22px;
    overflow: hidden;
    border: 1px solid rgba(201,166,107,.58);
    border-radius: 20px;
    background: linear-gradient(145deg, #fffdf9 0%, #f7f1e6 100%);
    box-shadow: 0 16px 42px rgba(27,43,50,.09);
}
.remark-template-manager-summary {
    display: grid;
    grid-template-columns: 48px minmax(0,1fr) auto auto;
    align-items: center;
    gap: 14px;
    min-height: 92px;
    padding: 17px 20px;
    list-style: none;
    cursor: pointer;
    user-select: none;
    background:
        radial-gradient(circle at 92% 20%, rgba(201,166,107,.18), transparent 26%),
        linear-gradient(135deg, #fffdf9, #f5ecdc);
    transition: background .2s ease, box-shadow .2s ease;
}
.remark-template-manager-summary::-webkit-details-marker { display: none; }
.remark-template-manager-summary:hover { background: linear-gradient(135deg, #fff, #f2e7d3); }
.remark-template-manager[open] > .remark-template-manager-summary { border-bottom: 1px solid rgba(201,166,107,.35); box-shadow: 0 8px 24px rgba(27,43,50,.05); }
.remark-template-manager-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border: 1px solid rgba(201,166,107,.62);
    border-radius: 15px;
    color: #8b652b;
    background: linear-gradient(135deg, #fff8e8, #ead3a8);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 8px 18px rgba(139,101,43,.12);
    font-size: 21px;
}
.remark-template-manager-copy { min-width: 0; }
.remark-template-manager-copy > span {
    display: block;
    margin-bottom: 4px;
    color: #ff3314;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.remark-template-manager-copy strong { display: block; color: #142b35; font: 800 17px/1.25 Manrope, sans-serif; }
.remark-template-manager-copy small { display: block; margin-top: 5px; color: #000; font-size: 12px; line-height: 1.5; }
.remark-template-manager-count {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 11px;
    border: 1px solid rgba(201,166,107,.42);
    border-radius: 999px;
    color: #725022;
    background: rgba(255,255,255,.72);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.remark-template-manager-toggle { display: inline-flex; align-items: center; gap: 9px; color: #142b35; font-size: 12px; font-weight: 800; white-space: nowrap; }
.remark-template-manager-toggle i { position: relative; width: 26px; height: 26px; border-radius: 50%; background: #142b35; }
.remark-template-manager-toggle i::before,
.remark-template-manager-toggle i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 10px; height: 2px; border-radius: 2px; background: #ead5ae; transform: translate(-50%,-50%); transition: transform .2s ease; }
.remark-template-manager-toggle i::after { transform: translate(-50%,-50%) rotate(90deg); }
.remark-template-manager[open] .remark-template-manager-toggle i::after { transform: translate(-50%,-50%) rotate(0); }
.remark-template-manager-body {
    display: grid;
    grid-template-columns: minmax(300px,.9fr) minmax(0,1.1fr);
    gap: 18px;
    padding: 20px;
    background: rgba(249,246,239,.82);
}
.remark-template-create-card,
.remark-template-library-card { min-width: 0; padding: 18px; border: 1px solid #e3dacb; border-radius: 16px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(25,41,49,.06); }
.remark-template-section-head { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 15px; padding-bottom: 13px; border-bottom: 1px solid #eee7dc; }
.remark-template-section-head > span { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 10px; color: #fff; background: linear-gradient(135deg, #ff5b38, #d73517); font: 800 11px Manrope, sans-serif; }
.remark-template-section-head div { min-width: 0; }
.remark-template-section-head strong { display: block; color: #142b35; font: 800 15px/1.3 Manrope, sans-serif; }
.remark-template-section-head small { display: block; margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.remark-template-create-form { display: grid; gap: 12px; }
.remark-template-create-form label { display: grid; gap: 6px; }
.remark-template-create-form label > span { color: #000; font-size: 12px; font-weight: 800; }
.remark-template-create-form input,
.remark-template-create-form textarea { width: 100%; border: 1px solid #d8d1c5; border-radius: 11px; padding: 10px 12px; outline: 0; color: #142b35; background: #fff; font: 500 13px/1.45 "DM Sans", sans-serif; transition: border-color .2s ease, box-shadow .2s ease; }
.remark-template-create-form textarea { min-height: 128px; resize: vertical; }
.remark-template-create-form input:focus,
.remark-template-create-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.13); }
.remark-template-create-button { width: 100%; min-height: 42px; justify-content: center; }
.remark-template-list { display: grid; gap: 10px; max-height: 360px; overflow: auto; padding-right: 3px; }
.remark-template-list article { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: start; gap: 12px; padding: 13px; border: 1px solid #e6dfd3; border-radius: 12px; background: linear-gradient(135deg, #fff, #fbf8f2); transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.remark-template-list article:hover { border-color: rgba(201,166,107,.72); transform: translateY(-1px); box-shadow: 0 8px 20px rgba(25,41,49,.06); }
.remark-template-list-copy { min-width: 0; }
.remark-template-list strong,
.remark-template-list small { display: block; }
.remark-template-list strong { color: #142b35; font: 800 14px/1.35 Manrope, sans-serif; overflow-wrap: anywhere; }
.remark-template-list small { margin-top: 5px; color: #000; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.remark-template-list form { align-self: center; }
.remark-template-empty { display: grid; min-height: 190px; place-items: center; align-content: center; padding: 24px; border: 1px dashed #d9c8ac; border-radius: 13px; text-align: center; background: #fcfaf6; }
.remark-template-empty > span { color: #c99d53; font-size: 25px; }
.remark-template-empty strong { margin-top: 7px; color: #142b35; font: 800 15px Manrope, sans-serif; }
.remark-template-empty small { margin-top: 5px; color: #000; font-size: 12px; }
.remark-template-picker { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 8px; margin-bottom: 9px; padding: 10px; border: 1px solid #d6e4dc; border-radius: 10px; background: linear-gradient(135deg, #f8fcf9, #edf6f0); }
.remark-template-picker label { min-width: 0; }
.remark-template-picker label > span { color: #315949; font-size: 11px; }
.remark-template-picker select { width: 100%; min-width: 0; min-height: 37px; border: 1px solid #c8d9cf; border-radius: 8px; padding: 0 9px; color: #18352a; background: #fff; font-size: 12px; }
.remark-template-picker .record-toggle-button { min-height: 37px; margin-top: 0; padding-inline: 11px; border-color: #b9d1c4; color: #285643; background: #fff; white-space: nowrap; }
.admin-standalone-main { width: min(1500px, calc(100% - 32px)); margin: 24px auto 48px; }
.admin-account-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: end; }
.admin-account-form .wide-field { grid-column: span 2; }
.admin-account-list { display: grid; gap: 14px; margin-top: 18px; }
.admin-account-card { padding: 17px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.admin-account-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 14px; }
.admin-account-card-head strong { font: 800 16px Manrope, sans-serif; color: #152a34; }
.admin-account-card-head small { display: block; margin-top: 4px; color: #000; font-size: 12px; }
.admin-account-edit-grid { display: grid; grid-template-columns: 1fr 1.2fr 1fr auto; gap: 10px; align-items: end; }
.admin-account-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.admin-activity-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 14px 0; }
.admin-activity-stats article { padding: 14px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.admin-activity-stats span { display: block; color: #000; font-size: 12px; }
.admin-activity-stats strong { display: block; margin-top: 5px; font: 800 22px Manrope, sans-serif; color: #f37236; }
.admin-activity-filter { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) auto auto; gap: 10px; align-items: end; }
.admin-activity-table-wrap { margin-top: 16px; overflow-x: auto; border: 1px solid var(--line); border-radius: 15px; }
.admin-activity-table { width: 100%; min-width: 1100px; border-collapse: collapse; background: #fff; }
.admin-activity-table th { padding: 13px; text-align: left; background: #f3eee3; color: #000; font-size: 12px; }
.admin-activity-table td { padding: 14px 13px; border-top: 1px solid var(--line); vertical-align: top; }
.admin-activity-table td strong,
.admin-activity-table td span,
.admin-activity-table td small { display: block; }
.admin-activity-table td strong { font-size: 13px; }
.admin-activity-table td span,
.admin-activity-table td small { margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.admin-activity-type { display: inline-flex !important; width: max-content; padding: 5px 8px; border-radius: 999px; background: #f5ead6; color: #805d28 !important; font-size: 10px !important; font-weight: 800; }
.admin-activity-table details { margin-top: 7px; }
.admin-activity-table summary { color: #8d672e; cursor: pointer; font-size: 12px; font-weight: 700; }
@media (max-width: 900px) {
    .admin-account-form,
    .admin-account-edit-grid { grid-template-columns: 1fr 1fr; }
    .admin-account-form .wide-field { grid-column: auto; }
    .admin-activity-filter { grid-template-columns: 1fr 1fr; }
    .admin-activity-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 620px) {
    .header-voucher-balance { width: 100%; justify-content: center; order: 5; }
    .forgot-password-form,
    .favorite-recipient-item { flex-direction: column; }
    .favorite-recipient-grid,
    .recipient-entry-options,
    .admin-account-form,
    .admin-account-edit-grid,
    .admin-activity-filter,
    .admin-activity-stats { grid-template-columns: 1fr; }
    .remark-template-manager { margin: 14px; }
    .remark-template-manager-summary { grid-template-columns: 42px minmax(0,1fr) auto; min-height: 82px; padding: 14px; }
    .remark-template-manager-icon { width: 42px; height: 42px; border-radius: 13px; }
    .remark-template-manager-count { display: none; }
    .remark-template-manager-toggle > span { display: none; }
    .remark-template-manager-body { grid-template-columns: 1fr; padding: 14px; }
    .remark-template-picker { grid-template-columns: 1fr; }
    .remark-template-picker .record-toggle-button { width: 100%; justify-content: center; }
}
.favorite-recipient-checkout.is-hidden { display: none; }
.manual-recipient-fields.is-favorite-mode { display: none; }

/* v2.16.32 — profile recipient, checkout recipient, admin accounts and activity layouts */
.visa-card-field { position: relative; }
.visa-card-input-shell { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; overflow: hidden; border: 1px solid #d9d4ca; border-radius: 13px; background: linear-gradient(135deg, #fff 0%, #fbf8f1 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.8); }
.visa-card-input-shell:focus-within { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.visa-card-input-shell .visa-card-mark { display: grid; place-items: center; align-self: stretch; min-width: 78px; padding: 0 15px; background: linear-gradient(135deg, #142c36, #254652); color: #e4c98f; font: 800 13px/1 Manrope, sans-serif; letter-spacing: .12em; }
.visa-card-input-shell input { border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font: 700 15px/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; letter-spacing: .045em; }

.favorite-recipient-body { padding: 22px; background: linear-gradient(180deg, #fbfaf7 0%, #f5f1e9 100%); }
.favorite-recipient-workspace { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(330px, .95fr); gap: 20px; align-items: start; }
.favorite-recipient-create-card,
.favorite-recipient-saved-card { min-width: 0; padding: 20px; border: 1px solid #dfd7c8; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 14px 38px rgba(28,43,49,.07); }
.favorite-recipient-section-head { display: flex; align-items: center; gap: 13px; margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid #eee8dc; }
.favorite-recipient-section-head > div { min-width: 0; }
.favorite-recipient-section-head strong { display: block; font: 800 16px Manrope, sans-serif; color: #152a34; }
.favorite-recipient-section-head small { display: block; margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.favorite-recipient-icon { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; border-radius: 13px; background: #122a34; color: #e4c98f; font: 800 21px/1 Manrope, sans-serif; box-shadow: 0 8px 18px rgba(18,42,52,.16); }
.favorite-recipient-icon.is-saved { background: linear-gradient(135deg, #d0a756, #efd89d); color: #3c2b0e; }
.favorite-recipient-form { padding: 0; }
.favorite-recipient-form label { display: grid; gap: 7px; min-width: 0; }
.favorite-recipient-form label > span { color: #000; font-size: 12px; font-weight: 800; }
.favorite-recipient-form label > small { color: #56636a; font-size: 11px; line-height: 1.45; }
.favorite-recipient-form input,
.favorite-recipient-form select,
.favorite-recipient-form textarea { width: 100%; min-width: 0; border: 1px solid #d9d4ca; border-radius: 11px; background: #fff; color: #17272e; font: 500 13px/1.35 "DM Sans", sans-serif; outline: 0; }
.favorite-recipient-form input,
.favorite-recipient-form select { min-height: 46px; padding: 0 13px; }
.favorite-recipient-form textarea { padding: 12px 13px; resize: vertical; }
.favorite-recipient-form input:focus,
.favorite-recipient-form select:focus,
.favorite-recipient-form textarea:focus { border-color: #c99f51; box-shadow: 0 0 0 4px rgba(201,159,81,.12); }
.favorite-recipient-list { gap: 13px; margin-top: 0; }
.favorite-recipient-item { display: block; padding: 16px; border-color: #e2dacb; border-radius: 16px; background: linear-gradient(145deg, #fff, #fbf8f2); box-shadow: 0 8px 24px rgba(29,42,48,.05); }
.favorite-recipient-item-head { display: grid; grid-template-columns: auto minmax(0,1fr) auto; gap: 11px; align-items: center; }
.favorite-recipient-item .favorite-recipient-avatar { display: grid; place-items: center; width: 42px; height: 42px; margin: 0 !important; border-radius: 50%; background: #17323d; color: #e6cc96; font: 800 16px Manrope, sans-serif; line-height: 1; }
.favorite-recipient-nickname { display: block; margin: 0 0 2px !important; color: #b27e2f !important; font-size: 11px !important; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.favorite-recipient-item-head strong { margin: 0; }
.favorite-recipient-meta { display: grid; grid-template-columns: 1.35fr .8fr .65fr; gap: 10px; margin-top: 14px; padding-top: 13px; border-top: 1px solid #eee8dc; }
.favorite-recipient-meta > div { min-width: 0; }
.favorite-recipient-meta span { margin: 0 0 3px !important; color: #667279 !important; font-size: 10px !important; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.favorite-recipient-meta strong { overflow-wrap: anywhere; font: 700 12px/1.4 "DM Sans", sans-serif; color: #17272e; }
.favorite-recipient-empty { display: grid; place-items: center; min-height: 220px; padding: 28px; border: 1px dashed #d8cdbb; border-radius: 16px; background: #fbf8f2; text-align: center; }
.favorite-recipient-empty > span { margin: 0 !important; color: #c79c51 !important; font-size: 34px !important; }
.favorite-recipient-empty strong { margin-top: 9px; font: 800 15px Manrope, sans-serif; }
.favorite-recipient-empty small { max-width: 240px; margin-top: 5px !important; color: #000 !important; font-size: 12px !important; }

.recipient-bank-workspace { display: grid; gap: 18px; margin-top: 18px; padding: 20px; border: 1px solid #ded6c7; border-radius: 20px; background: linear-gradient(160deg, #fbfaf7 0%, #f3eee4 100%); }
.recipient-bank-heading { display: flex; align-items: center; gap: 14px; }
.recipient-bank-heading-icon { display: grid; place-items: center; flex: 0 0 50px; width: 50px; height: 50px; border-radius: 16px; background: #132e38; box-shadow: 0 10px 24px rgba(19,46,56,.17); font-size: 24px; }
.recipient-bank-heading h2 { margin: 3px 0 4px; font: 800 20px Manrope, sans-serif; color: #142a34; }
.recipient-bank-heading p { margin: 0; color: #000; font-size: 13px; }
.sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.recipient-entry-options { margin: 0; gap: 12px; }
.recipient-entry-option { position: relative; align-items: center; min-height: 82px; padding: 15px; border: 1px solid #d8d0c1; border-radius: 16px; background: rgba(255,255,255,.92); box-shadow: 0 7px 20px rgba(24,41,48,.04); }
.recipient-entry-option:hover { border-color: #caa45e; transform: translateY(-1px); }
.recipient-entry-option:has(input:checked) { border-color: #bd9143; background: linear-gradient(145deg, #fffdf8, #f8efdc); box-shadow: 0 0 0 3px rgba(201,159,81,.14), 0 10px 26px rgba(52,40,19,.07); }
.recipient-entry-option input { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; opacity: 0; }
.recipient-entry-option-icon { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 11px; background: #17323d; color: #e7cb92; font-size: 17px; }
.recipient-entry-option > span:last-child { min-width: 0; }
.recipient-entry-option strong { font: 800 14px Manrope, sans-serif; color: #172a33; }
.recipient-entry-option small { color: #000; font-size: 12px; line-height: 1.4; }
.recipient-entry-option:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.favorite-recipient-checkout,
.recipient-manual-card { padding: 18px; border: 1px solid #ded7ca; border-radius: 17px; background: #fff; box-shadow: 0 10px 28px rgba(24,41,48,.055); }
.wallet-recipient-card { grid-column: 1 / -1; }
.recipient-subcard-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 15px; }
.recipient-subcard-head strong { display: block; font: 800 15px Manrope, sans-serif; color: #142a34; }
.recipient-subcard-head small { display: block; margin-top: 4px; color: #000; font-size: 12px; line-height: 1.45; }
.recipient-subcard-head a { flex: 0 0 auto; color: #95671f; font-size: 12px; font-weight: 800; text-decoration: none; }
.favorite-recipient-select { display: grid; gap: 7px; margin: 0; }
.favorite-recipient-select > span { color: #000; font-size: 12px; font-weight: 800; }
.favorite-recipient-select select { width: 100%; min-height: 48px; border: 1px solid #d8d2c7; border-radius: 11px; padding: 0 13px; background: #fff; font: 600 13px "DM Sans", sans-serif; }
.favorite-recipient-preview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; margin-top: 14px; padding: 15px; border-radius: 14px; background: linear-gradient(135deg, #142f39, #1e4652); color: #fff; }
.favorite-recipient-preview > div { min-width: 0; padding: 9px 10px; border: 1px solid rgba(231,203,146,.2); border-radius: 10px; background: rgba(255,255,255,.05); }
.favorite-recipient-preview span { display: block; color: #e3c78e; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.favorite-recipient-preview strong { display: block; margin-top: 4px; overflow-wrap: anywhere; font: 700 12px/1.45 "DM Sans", sans-serif; color: #fff; }
.favorite-recipient-preview .recipient-preview-wide { grid-column: 1 / -1; }
.recipient-manual-card.is-favorite-mode { display: none; }
.bank-transfer-grid { gap: 15px; }
.bank-transfer-grid label { min-width: 0; }
.bank-transfer-grid input,
.bank-transfer-grid select,
.bank-transfer-grid textarea { border-radius: 11px; }
.wallet-destination-card { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.wallet-destination-card > div { min-width: 0; padding: 13px; border: 1px solid #d9e4e7; border-radius: 12px; background: #fff; }
.wallet-destination-card > small { grid-column: 1 / -1; }
.wallet-card-number { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important; letter-spacing: .04em; }

.admin-account-overview { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; margin: 15px 0; }
.admin-account-overview article { padding: 18px; border: 1px solid var(--line); border-radius: 16px; background: linear-gradient(145deg,#fff,#f8f5ee); box-shadow: 0 9px 28px rgba(24,40,47,.05); }
.admin-account-overview span { display: block; color: #000; font-size: 12px; font-weight: 800; }
.admin-account-overview strong { display: block; margin-top: 7px; font: 800 22px Manrope,sans-serif; color: #f37236; overflow-wrap: anywhere; }
.admin-account-overview small { display: block; margin-top: 5px; color: #000; font-size: 11px; }
.admin-account-security-pill { align-self: flex-start; padding: 7px 11px; border-radius: 999px; background: #eef5ef; color: #28743d; font-size: 11px; font-weight: 800; }
.admin-account-create-layout { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 20px; padding: 20px; }
.admin-account-permission-note { display: flex; align-items: flex-start; gap: 12px; padding: 17px; border-radius: 15px; background: linear-gradient(145deg,#142f39,#1d4652); color: #fff; }
.admin-account-permission-note > span { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border-radius: 11px; background: rgba(229,201,147,.14); color: #e5c993; }
.admin-account-permission-note strong { font: 800 14px Manrope,sans-serif; }
.admin-account-permission-note p { margin: 6px 0 0; color: #fff; font-size: 12px; line-height: 1.55; }
.admin-account-form { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; align-items: start; }
.admin-account-form label { display: grid; gap: 7px; min-width: 0; }
.admin-account-form label > span,
.admin-account-edit-grid label > span { color: #000; font-size: 12px; font-weight: 800; }
.admin-account-form label > small { color: #58666d; font-size: 11px; }
.admin-account-form input,
.admin-account-form select,
.admin-account-edit-grid input,
.admin-account-edit-grid select { width: 100%; min-height: 44px; border: 1px solid #d8d2c7; border-radius: 10px; padding: 0 12px; background: #fff; font: 600 13px "DM Sans",sans-serif; }
.admin-account-create-action { grid-column: 1 / -1; display: flex; justify-content: flex-end; padding-top: 3px; }
.admin-account-directory-card .admin-card-head { border-bottom: 1px solid #eee7da; }
.admin-account-list { gap: 16px; padding: 20px; margin: 0; background: #f7f4ed; }
.admin-account-card { padding: 0; overflow: hidden; border-radius: 17px; box-shadow: 0 10px 30px rgba(24,40,47,.055); }
.admin-account-card.is-inactive { opacity: .78; }
.admin-account-identity { display: grid; grid-template-columns: auto minmax(0,1fr) minmax(180px,auto); gap: 14px; align-items: center; padding: 18px; background: linear-gradient(145deg,#fff,#fbf8f2); }
.admin-account-avatar { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: #17323d; color: #e6cc96; font: 800 18px Manrope,sans-serif; }
.admin-account-name { min-width: 0; }
.admin-account-name > div { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.admin-account-name strong { font: 800 17px Manrope,sans-serif; color: #132a34; }
.admin-account-name small { display: block; margin-top: 4px; color: #000; font-size: 12px; }
.admin-account-name a { display: inline-block; margin-top: 3px; color: #8d6525; font-size: 12px; font-weight: 700; text-decoration: none; }
.admin-account-login-meta { min-width: 180px; text-align: right; }
.admin-account-login-meta > span { display: inline-flex; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.admin-account-login-meta > span.is-active { background: #eaf6ed; color: #26703a; }
.admin-account-login-meta > span.is-inactive { background: #fbe9e6; color: #a53e2e; }
.admin-account-login-meta small { display: block; margin-top: 5px; color: #000; font-size: 10px; }
.admin-account-login-meta strong { display: block; margin-top: 2px; font-size: 12px; color: #182b34; }
.admin-account-edit-grid { grid-template-columns: repeat(3,minmax(0,1fr)) minmax(190px,.8fr); gap: 12px; align-items: end; padding: 17px 18px; border-top: 1px solid #eee7da; background: #fff; }
.admin-account-active-toggle { display: flex !important; align-items: center; gap: 10px; min-height: 44px; padding: 8px 11px; border: 1px solid #ddd6ca; border-radius: 10px; }
.admin-account-active-toggle input { flex: 0 0 auto; width: 17px; min-height: 17px; height: 17px; accent-color: #c38e37; }
.admin-account-active-toggle span strong { display: block; font-size: 12px; }
.admin-account-active-toggle span small { display: block; margin-top: 2px; color: #000; font-size: 10px; }
.admin-account-save-row { grid-column: 1 / -1; display: flex; justify-content: flex-end; }
.admin-account-actions { margin: 0; padding: 0 18px 17px; }
.admin-account-locked-note { margin: 0 18px 18px; padding: 11px 13px; border-radius: 10px; background: #f5eee1; color: #7b5c29; font-size: 12px; font-weight: 700; }

.admin-activity-stats article { display: flex; align-items: center; gap: 12px; padding: 17px; border-radius: 16px; background: linear-gradient(145deg,#fff,#f8f5ee); }
.admin-activity-stat-icon { display: grid !important; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background: #17323d; color: #e7cc94 !important; font-size: 17px !important; }
.admin-activity-stats article > div { min-width: 0; }
.admin-activity-stats article > div > span { font-size: 11px; font-weight: 800; }
.admin-activity-stats article > div > strong { margin-top: 3px; font-size: 20px; }
.admin-activity-stats article > div > small { display: block; margin-top: 2px; color: #000; font-size: 10px; }
.admin-activity-filter { padding: 18px; border-top: 1px solid #eee7da; background: #fbfaf7; }
.admin-activity-filter label { display: grid; gap: 6px; min-width: 0; }
.admin-activity-filter label > span { color: #000; font-size: 11px; font-weight: 800; }
.admin-activity-filter input,
.admin-activity-filter select { width: 100%; min-height: 43px; border: 1px solid #d8d2c7; border-radius: 10px; padding: 0 11px; background: #fff; font: 600 12px "DM Sans",sans-serif; }
.admin-activity-list { display: grid; gap: 13px; padding: 18px; background: #f5f2eb; }
.admin-activity-card { display: grid; grid-template-columns: 92px minmax(0,1fr); overflow: hidden; border: 1px solid #ded7ca; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(24,40,47,.05); }
.admin-activity-card-time { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 15px 10px; background: linear-gradient(160deg,#17343f,#244d59); color: #fff; text-align: center; }
.admin-activity-card-time strong { font: 800 25px Manrope,sans-serif; color: #e6cb93; }
.admin-activity-card-time span { margin-top: 2px; font-size: 11px; font-weight: 800; }
.admin-activity-card-time small { margin-top: 8px; color: #fff; font-size: 9px; }
.admin-activity-card-main { min-width: 0; padding: 16px; }
.admin-activity-card-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.admin-activity-card-head h3 { margin: 6px 0 0; font: 800 15px Manrope,sans-serif; color: #152a34; }
.admin-activity-method { flex: 0 0 auto; padding: 5px 8px; border-radius: 8px; background: #edf3f4; color: #31505b; font-size: 10px; font-weight: 800; }
.admin-activity-card-grid { display: grid; grid-template-columns: 1fr 1.25fr 1.35fr; gap: 10px; margin-top: 13px; }
.admin-activity-card-grid > div { min-width: 0; padding: 10px 11px; border: 1px solid #eee8dc; border-radius: 10px; background: #fbfaf7; }
.admin-activity-card-grid span { display: block; color: #6a7378; font-size: 9px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.admin-activity-card-grid strong { display: block; margin-top: 4px; overflow-wrap: anywhere; font-size: 12px; color: #182c35; }
.admin-activity-card-grid small { display: block; margin-top: 3px; overflow: hidden; color: #000; font-size: 10px; line-height: 1.4; }
.admin-activity-details { margin-top: 11px; border: 1px solid #e7dfd1; border-radius: 10px; background: #fffdf8; }
.admin-activity-details summary { padding: 10px 12px; color: #8c6425; cursor: pointer; font-size: 11px; font-weight: 800; }
.admin-activity-details > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 0 12px 12px; }
.admin-activity-details p { margin: 0; padding: 9px; border-radius: 8px; background: #f4efe5; }
.admin-activity-details p span { display: block; color: #6a7378; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.admin-activity-details p strong { display: block; margin-top: 3px; overflow-wrap: anywhere; font-size: 11px; color: #172a33; }
.admin-activity-empty { display: grid; place-items: center; min-height: 240px; border: 1px dashed #d7cdbb; border-radius: 15px; background: #fbf9f4; text-align: center; }
.admin-activity-empty span { color: #c79c51; font-size: 32px; }
.admin-activity-empty strong { margin-top: 8px; font: 800 15px Manrope,sans-serif; }
.admin-activity-empty small { margin-top: 4px; color: #000; font-size: 12px; }

@media (max-width: 1050px) {
    .favorite-recipient-workspace,
    .admin-account-create-layout { grid-template-columns: 1fr; }
    .admin-account-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-account-edit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .admin-activity-card-grid { grid-template-columns: 1fr 1fr; }
    .admin-activity-card-grid > div:last-child { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .favorite-recipient-body,
    .recipient-bank-workspace { padding: 14px; }
    .favorite-recipient-create-card,
    .favorite-recipient-saved-card,
    .favorite-recipient-checkout,
    .recipient-manual-card { padding: 15px; }
    .favorite-recipient-grid,
    .recipient-entry-options,
    .bank-transfer-grid,
    .favorite-recipient-preview,
    .wallet-destination-card,
    .admin-account-overview,
    .admin-account-form,
    .admin-account-edit-grid,
    .admin-activity-details > div { grid-template-columns: 1fr; }
    .favorite-recipient-meta { grid-template-columns: 1fr 1fr; }
    .favorite-recipient-item-head { grid-template-columns: auto minmax(0,1fr); }
    .favorite-recipient-item-head form { grid-column: 1 / -1; }
    .recipient-bank-heading { align-items: flex-start; }
    .recipient-subcard-head { display: grid; }
    .favorite-recipient-preview .recipient-preview-wide { grid-column: auto; }
    .admin-account-create-layout { padding: 15px; }
    .admin-account-identity { grid-template-columns: auto minmax(0,1fr); align-items: start; }
    .admin-account-login-meta { grid-column: 1 / -1; min-width: 0; padding-top: 10px; border-top: 1px solid #eee7da; text-align: left; }
    .admin-account-save-row { grid-column: auto; }
    .admin-activity-card { grid-template-columns: 1fr; }
    .admin-activity-card-time { display: grid; grid-template-columns: auto auto 1fr; justify-content: start; gap: 7px; padding: 10px 14px; text-align: left; }
    .admin-activity-card-time strong { font-size: 18px; }
    .admin-activity-card-time span,
    .admin-activity-card-time small { margin: 0; align-self: center; }
    .admin-activity-card-grid { grid-template-columns: 1fr; }
    .admin-activity-card-grid > div:last-child { grid-column: auto; }
    .visa-card-input-shell { grid-template-columns: 68px minmax(0,1fr); }
    .visa-card-input-shell .visa-card-mark { min-width: 68px; padding: 0 10px; }
}

/* v2.16.33 — compact rejection reason status layout */


/* v2.16.38 customer administration */
.customer-admin-edit { margin-top: 10px; }
.customer-admin-edit > summary { display: inline-flex; align-items: center; justify-content: center; list-style: none; cursor: pointer; }
.customer-admin-edit > summary::-webkit-details-marker { display: none; }
.customer-admin-edit[open] > summary { margin-bottom: 10px; }
.customer-admin-edit-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; padding: 14px; border: 1px solid #e0d9cd; border-radius: 13px; background: #fbf9f4; }
.customer-admin-edit-form label { display: grid; gap: 6px; min-width: 0; }
.customer-admin-edit-form label > span { color: #33434a; font-size: 11px; font-weight: 800; }
.customer-admin-edit-form input { width: 100%; min-width: 0; height: 42px; border: 1px solid #d8d2c7; border-radius: 10px; padding: 0 11px; background: #fff; outline: 0; }
.customer-admin-edit-form input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,166,107,.12); }
.customer-admin-edit-wide, .customer-admin-edit-actions { grid-column: 1 / -1; }
.customer-admin-edit-actions { display: flex; justify-content: flex-end; }
.profile-readonly-form input[readonly] { background: #f3f1ec; color: #3c474c; cursor: not-allowed; }
@media (max-width: 760px) {
    .customer-admin-edit-form { grid-template-columns: 1fr; }
    .customer-admin-edit-wide, .customer-admin-edit-actions { grid-column: auto; }
}

/* v2.16.40 — keep the four-step Buy Now progress visible on mobile */
@media (max-width: 680px) {
    .checkout-steps.four-steps {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
    }
    .checkout-steps.four-steps i { display: none; }
    .checkout-steps.four-steps span {
        justify-content: flex-start;
        min-width: 0;
        min-height: 48px;
        padding: 8px 10px;
        border: 1px solid #ded8cd;
        border-radius: 10px;
        background: rgba(255,255,255,.72);
        line-height: 1.25;
        white-space: normal;
    }
    .checkout-steps.four-steps b {
        display: block;
        min-width: 0;
        font-size: 11px;
        overflow-wrap: anywhere;
    }
}

/* BBG Exchange Master v2.16.64 — customer single-order page */
.single-order-page { min-height: 100vh; background: #f4efe5; }
.single-order-main { max-width: 1040px; padding-bottom: 56px; }
.single-order-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin: 28px 0 18px;
    padding: 29px 31px;
    border: 1px solid rgba(12,23,32,.08);
    border-radius: 22px;
    background: linear-gradient(135deg, #10262f, #173640);
    color: white;
    box-shadow: 0 20px 60px rgba(12,23,32,.13);
}
.single-order-hero h1 { margin: 8px 0 7px; font: 800 30px/1.15 Manrope, sans-serif; letter-spacing: -.035em; }
.single-order-hero p { margin: 0; color: #fff; font-size: 14px; }
.single-order-hero .order-status { flex: 0 0 auto; }
.single-order-overview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}
.single-order-overview > div,
.single-order-section {
    border: 1px solid #e3ddd2;
    background: #fffdf8;
    box-shadow: 0 10px 30px rgba(12,23,32,.045);
}
.single-order-overview > div { min-width: 0; padding: 17px 18px; border-radius: 14px; }
.single-order-overview span,
.single-order-detail-grid span,
.single-order-file-row span,
.single-order-admin-remark span {
    display: block;
    color: #6e7a80;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}
.single-order-overview strong { display: block; margin-top: 7px; font-size: 16px; overflow-wrap: anywhere; }
.single-order-section { margin-bottom: 18px; padding: 26px; border-radius: 18px; }
.single-order-section-head { margin-bottom: 19px; }
.single-order-section-head h2 { margin: 7px 0 0; font: 800 21px/1.2 Manrope, sans-serif; letter-spacing: -.025em; }
.single-order-conversion {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    margin-bottom: 18px;
    padding: 21px;
    border-radius: 15px;
    background: #f8f3e9;
    text-align: center;
}
.single-order-conversion span { display: block; color: #69767d; font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.single-order-conversion strong { display: block; margin-top: 8px; color: #27745b; font: 800 22px Manrope, sans-serif; }
.single-order-conversion b { color: #000; font-size: 20px; }
.single-order-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.single-order-detail-grid > div { min-width: 0; padding: 15px 16px; border: 1px solid #e8e2d8; border-radius: 12px; background: #fcfaf6; }
.single-order-detail-grid strong { display: block; margin-top: 6px; color: #17252c; font-size: 16px; line-height: 1.45; overflow-wrap: anywhere; }
.single-order-wide { grid-column: 1 / -1; }
.single-order-subsection { margin-top: 20px; padding-top: 20px; border-top: 1px solid #e7e1d6; }
.single-order-subsection h3 { margin: 0 0 12px; font: 800 16px Manrope, sans-serif; }
.single-order-file-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px; border: 1px solid #e4ded4; border-radius: 13px; background: #faf7f0; }
.single-order-file-row > div { min-width: 0; }
.single-order-file-row strong { display: block; margin-top: 5px; font-size: 14px; overflow-wrap: anywhere; }
.single-order-file-row small { display: block; margin-top: 5px; color: #768187; font-size: 12px; }
.single-order-empty { margin: 0; padding: 15px; border-radius: 12px; background: #f7f3eb; color: #79858a; font-size: 13px; }
.single-order-admin-remark { margin-top: 14px; padding: 16px; border: 1px solid #dfd5c2; border-radius: 12px; background: #fff9ed; }
.single-order-admin-remark strong { display: block; margin-top: 7px; font-size: 14px; line-height: 1.55; }
.single-order-actions { display: flex; justify-content: flex-end; align-items: center; gap: 12px; padding-top: 4px; }
.single-order-actions > a:first-child { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid #d7d1c7; border-radius: 10px; background: white; font-size: 13px; font-weight: 800; }

@media (max-width: 820px) {
    .single-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .single-order-detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .single-order-wide { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
    .single-order-hero { align-items: flex-start; flex-direction: column; padding: 23px 20px; }
    .single-order-hero h1 { font-size: 24px; overflow-wrap: anywhere; }
    .single-order-overview,
    .single-order-detail-grid { grid-template-columns: 1fr; }
    .single-order-wide { grid-column: auto; }
    .single-order-section { padding: 20px 16px; }
    .single-order-conversion { grid-template-columns: 1fr; gap: 10px; }
    .single-order-conversion b { transform: rotate(90deg); }
    .single-order-file-row { align-items: stretch; flex-direction: column; }
    .single-order-file-row .primary-link-button { width: 100%; }
    .single-order-actions { align-items: stretch; flex-direction: column-reverse; }
    .single-order-actions > a { width: 100%; }
}

/* BBG Exchange Master v2.16.80 - admin receipt verification */
.receipt-verification-page { max-width: 1180px; }
.receipt-verification-card { overflow: hidden; }
.receipt-verification-form { display: grid; gap: 20px; padding: 26px; }
.receipt-pdf-upload { min-height: 235px; }
.receipt-pdf-upload .upload-icon { width: 62px; height: 62px; border-radius: 18px; font-size: 14px; font-weight: 800; letter-spacing: .5px; }
.receipt-reference-fallback { display: grid; gap: 8px; }
.receipt-reference-fallback > span { color: #202936; font-size: 13px; font-weight: 800; }
.receipt-reference-fallback > span small { margin-left: 6px; color: #697386; font-size: 12px; font-weight: 500; }
.receipt-reference-fallback input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #d8dfe8; border-radius: 10px; background: #fff; color: #172033; font: 600 14px "DM Sans", sans-serif; }
.receipt-reference-fallback input:focus { outline: 3px solid rgba(241,90,36,.14); border-color: #f15a24; }
.receipt-verification-actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.receipt-verification-actions span { color: #697386; font-size: 12px; line-height: 1.5; }
.receipt-verification-result { margin-top: 24px; overflow: hidden; border: 1px solid; border-radius: 18px; box-shadow: 0 14px 36px rgba(28,39,56,.08); }
.receipt-verification-result.is-original { border-color: #86d5b5; background: #f3fcf8; }
.receipt-verification-result.is-modified { border-color: #f1a9a4; background: #fff6f5; }
.receipt-verification-verdict { display: flex; align-items: flex-start; gap: 18px; padding: 26px; border-bottom: 1px solid rgba(23,32,51,.09); }
.receipt-verification-icon { display: grid; flex: 0 0 58px; width: 58px; height: 58px; place-items: center; border-radius: 50%; color: #fff; font: 800 30px/1 "Manrope", sans-serif; }
.is-original .receipt-verification-icon { background: #087a55; }
.is-modified .receipt-verification-icon { background: #d92d20; }
.receipt-verification-verdict > div > span { display: block; margin-bottom: 5px; color: #697386; font-size: 11px; font-weight: 800; letter-spacing: .9px; text-transform: uppercase; }
.receipt-verification-verdict h2 { margin: 0 0 7px; color: #172033; font: 800 25px/1.2 "Manrope", sans-serif; }
.receipt-verification-verdict p { max-width: 830px; margin: 0; color: #3e4b5f; font-size: 14px; line-height: 1.6; }
.receipt-verification-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1px; background: rgba(23,32,51,.09); }
.receipt-verification-grid > div { min-width: 0; padding: 18px 20px; background: rgba(255,255,255,.78); }
.receipt-verification-grid span, .receipt-verification-grid strong, .receipt-verification-grid small { display: block; }
.receipt-verification-grid span { margin-bottom: 6px; color: #697386; font-size: 10px; font-weight: 800; letter-spacing: .55px; text-transform: uppercase; }
.receipt-verification-grid strong { color: #172033; font-size: 14px; overflow-wrap: anywhere; }
.receipt-verification-grid small { margin-top: 5px; color: #697386; font-size: 11px; line-height: 1.45; }
.receipt-hash-details { margin: 18px 22px 22px; border: 1px solid rgba(23,32,51,.12); border-radius: 12px; background: #fff; }
.receipt-hash-details summary { padding: 14px 16px; cursor: pointer; color: #26344a; font-size: 13px; font-weight: 800; }
.receipt-hash-details > div { display: grid; gap: 12px; padding: 0 16px 16px; }
.receipt-hash-details p { margin: 0; }
.receipt-hash-details p span { display: block; margin-bottom: 5px; color: #697386; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.receipt-hash-details code { display: block; padding: 10px; border-radius: 8px; background: #f4f6f9; color: #172033; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
.receipt-verification-notes { margin-top: 24px; }
@media (max-width: 820px) {
    .receipt-verification-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .receipt-verification-form, .receipt-verification-verdict { padding: 20px; }
    .receipt-verification-grid { grid-template-columns: 1fr; }
    .receipt-verification-verdict { flex-direction: column; }
    .receipt-reference-fallback > span small { display: block; margin: 3px 0 0; }
}

/* BBG Exchange Master v2.16.83 - crypto converter and wallet transfer */
.converter-mode-switch { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 0 0 18px; padding: 5px; border: 1px solid #e3ded4; border-radius: 14px; background: #f5f1e9; }
.converter-mode-button { min-height: 43px; padding: 9px 14px; border: 1px solid transparent; border-radius: 10px; color: #fff; font: 800 12px/1.2 Manrope, sans-serif; letter-spacing: .45px; cursor: pointer; transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.converter-mode-button[data-converter-mode="CURRENCY"] { background: #f47a2a; border-color: #dc681d; }
.converter-mode-button[data-converter-mode="CRYPTO"] { background: #119b67; border-color: #0b8356; }
.converter-mode-button[data-converter-mode="CURRENCY"]:hover { background: #df681d; }
.converter-mode-button[data-converter-mode="CRYPTO"]:hover { background: #0b8759; }
/* BBG Exchange Master v2.16.95 - clearer active converter selector */
.converter-mode-button.is-active { color: #fff; border-color: rgba(255,255,255,.96); transform: translateY(-2px); position: relative; z-index: 1; }
.converter-mode-button[data-converter-mode="CURRENCY"].is-active { box-shadow: 0 0 0 3px rgba(244,122,42,.34), 0 10px 22px rgba(220,104,29,.36), inset 0 0 0 1px rgba(255,255,255,.50); }
.converter-mode-button[data-converter-mode="CRYPTO"].is-active { box-shadow: 0 0 0 3px rgba(17,155,103,.34), 0 10px 22px rgba(11,131,86,.36), inset 0 0 0 1px rgba(255,255,255,.50); }
.converter-card-locked .converter-mode-button { cursor: default; }
.crypto-only-transfer-method { grid-template-columns: minmax(0, 1fr); }
.crypto-transfer-panel { margin-top: 18px; }
.crypto-recipient-card { border-color: #b9dfcf; background: linear-gradient(180deg, #f7fdf9 0%, #fff 100%); }
.crypto-recipient-card .auto-transfer-amount strong { color: #087a55; }
.crypto-admin-card { margin-bottom: 24px; }
.crypto-admin-grid, .crypto-admin-row, .crypto-rate-add { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; padding: 22px; }
.crypto-admin-list { display: grid; gap: 1px; border-top: 1px solid #e7e1d7; background: #e7e1d7; }
.crypto-admin-row { background: #fff; }
.crypto-admin-grid label, .crypto-admin-row label, .crypto-rate-add label { display: grid; align-content: start; gap: 7px; min-width: 0; }
.crypto-admin-grid label > span, .crypto-admin-row label > span, .crypto-rate-add label > span { color: #4f5b60; font-size: 12px; font-weight: 800; }
.crypto-admin-grid input, .crypto-admin-grid select, .crypto-admin-row input, .crypto-admin-row select, .crypto-rate-add input, .crypto-rate-add select, .admin-table-wrap input { width: 100%; min-height: 43px; padding: 9px 11px; border: 1px solid #d9d3c9; border-radius: 9px; background: #fff; color: #17252c; font: 600 13px "DM Sans", sans-serif; }
.crypto-wide { grid-column: span 2; }
.crypto-admin-grid .simple-check, .crypto-admin-row .simple-check, .crypto-rate-add .simple-check { display: flex; align-items: center; align-self: end; min-height: 43px; }
.crypto-admin-grid .simple-check input, .crypto-admin-row .simple-check input, .crypto-rate-add .simple-check input { width: 18px; min-height: 18px; }
.crypto-admin-grid > button, .crypto-admin-row > button, .crypto-rate-add > button { align-self: end; min-height: 43px; }
.crypto-rate-add { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.admin-table-wrap { overflow-x: auto; }
.admin-table-wrap table { width: 100%; border-collapse: collapse; }
.admin-table-wrap th, .admin-table-wrap td { padding: 13px; border-bottom: 1px solid #ece7df; text-align: left; vertical-align: top; }
.admin-table-wrap th { color: #697277; font-size: 11px; letter-spacing: .4px; text-transform: uppercase; }
.admin-table-wrap td strong, .admin-table-wrap td small { display: block; }
.admin-table-wrap td small { margin-top: 4px; color: #7a8489; }
@media (max-width: 1050px) {
    .crypto-admin-grid, .crypto-admin-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .crypto-rate-add { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .converter-mode-switch { grid-template-columns: 1fr; }
    .crypto-admin-grid, .crypto-admin-row, .crypto-rate-add { grid-template-columns: 1fr; padding: 18px; }
    .crypto-wide { grid-column: auto; }
}

/* BBG Exchange Master v2.16.84 - crypto favorites and face verification */
.favorite-crypto-recipient-card .favorite-recipient-avatar.crypto-avatar { background: #087a55; color: #fff; }
.favorite-recipient-meta .favorite-wallet-full { grid-column: 1 / -1; }
.favorite-recipient-meta .favorite-wallet-full strong { overflow-wrap: anywhere; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.crypto-recipient-workspace { border-color: #b9dfcf; background: linear-gradient(180deg, #f7fdf9 0%, #fff 100%); }
.crypto-recipient-workspace .recipient-bank-heading { border-bottom-color: #d8eee4; }

.face-verification-card { margin-top: 22px; overflow: hidden; border: 1px solid #c9ddd5; border-radius: 18px; background: linear-gradient(180deg, #f5fbf8 0%, #fff 100%); box-shadow: 0 12px 30px rgba(17,74,58,.07); }
.face-verification-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; padding: 22px 24px; border-bottom: 1px solid #dcece5; }
.face-verification-heading h2 { margin: 4px 0 6px; font: 800 22px/1.2 Manrope, sans-serif; color: #17332b; }
.face-verification-heading p { max-width: 720px; margin: 0; color: #485c55; font-size: 13px; line-height: 1.55; }
.face-verification-required { flex: 0 0 auto; padding: 7px 11px; border-radius: 999px; background: #087a55; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .45px; text-transform: uppercase; }
.face-verification-layout { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr); gap: 22px; padding: 24px; }
.face-camera-stage { position: relative; min-height: 330px; overflow: hidden; border: 2px solid #c8ddd4; border-radius: 18px; background: #10251f; }
.face-camera-stage video { display: block; width: 100%; height: 100%; min-height: 330px; object-fit: cover; background: #10251f; transform: scaleX(-1); }
.face-camera-stage video[controls] { transform: none; }
.face-camera-placeholder { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 8px; padding: 24px; color: #eaf5f0; text-align: center; background: radial-gradient(circle at 50% 35%, #234d40 0%, #10251f 70%); }
.face-camera-placeholder[hidden] { display: none; }
.face-camera-placeholder > span { display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; background: rgba(255,255,255,.08); font-size: 30px; }
.face-camera-placeholder strong { font: 800 17px Manrope, sans-serif; }
.face-camera-placeholder small { color: #bed2ca; font-size: 12px; }
.face-recording-badge { position: absolute; top: 14px; left: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; background: rgba(22,28,26,.82); color: #fff; font-size: 11px; font-weight: 800; backdrop-filter: blur(8px); }
.face-recording-badge i { width: 9px; height: 9px; border-radius: 50%; background: #f04438; box-shadow: 0 0 0 5px rgba(240,68,56,.16); animation: faceRecordingPulse 1s infinite; }
@keyframes faceRecordingPulse { 50% { opacity: .45; } }
.face-verification-controls { display: grid; align-content: start; gap: 15px; }
.face-instructions { padding: 16px 17px; border: 1px solid #dce9e3; border-radius: 14px; background: #fff; }
.face-instructions strong { color: #17332b; font: 800 14px Manrope, sans-serif; }
.face-instructions ol { margin: 10px 0 0 20px; padding: 0; color: #4c5d57; font-size: 12px; line-height: 1.75; }
.face-control-buttons { display: flex; flex-wrap: wrap; gap: 10px; }
.face-control-buttons button { min-height: 43px; }
.face-verification-status { padding: 12px 14px; border: 1px solid #d9e2de; border-radius: 11px; background: #f7f9f8; color: #52605b; font-size: 12px; font-weight: 700; line-height: 1.5; }
.face-verification-status.is-ready { border-color: #8dd3b7; background: #ecf9f3; color: #087a55; }
.face-verification-status.is-error { border-color: #efaaa4; background: #fff3f2; color: #b42318; }
.face-camera-fallback { border: 1px solid #e1e5e3; border-radius: 11px; background: #fff; }
.face-camera-fallback summary { padding: 12px 14px; cursor: pointer; color: #46554f; font-size: 12px; font-weight: 800; }
.face-camera-fallback label { display: grid; gap: 8px; padding: 0 14px 14px; color: #53625c; font-size: 11px; font-weight: 700; }
.face-camera-fallback input { width: 100%; padding: 9px; border: 1px solid #d5ddd9; border-radius: 9px; background: #fff; font-size: 12px; }
.face-consent { display: flex !important; align-items: flex-start; gap: 10px; padding: 13px 14px; border: 1px solid #d8e5df; border-radius: 11px; background: #f7fbf9; color: #384a43; font-size: 11px; line-height: 1.55; }
.face-consent input { flex: 0 0 auto; width: 18px !important; min-height: 18px !important; margin-top: 1px; accent-color: #087a55; }
.admin-face-verification-box { padding-top: 8px; border-top: 1px dashed #d9d3c9; }
.face-verification-link { color: #087a55 !important; }

.face-review-page { min-height: 100vh; background: #f2f4f3; }
.face-review-page .admin-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 16px 28px; background: #17343f; color: #fff; }
.face-review-page .admin-header img { display: block; width: 155px; max-height: 50px; object-fit: contain; }
.face-review-page .admin-header > div { display: flex; align-items: center; gap: 16px; }
.face-review-page .admin-header strong { font: 800 14px Manrope, sans-serif; }
.face-review-page .admin-header a { color: #e6cb93; font-size: 12px; font-weight: 800; text-decoration: none; }
.face-review-shell { width: min(1180px, calc(100% - 32px)); margin: 34px auto; }
.face-review-card { overflow: hidden; border: 1px solid #dce2df; border-radius: 22px; background: #fff; box-shadow: 0 18px 50px rgba(30,53,45,.1); }
.face-review-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 26px 28px; border-bottom: 1px solid #e4e9e7; }
.face-review-head h1 { margin: 5px 0 7px; font: 800 27px/1.15 Manrope, sans-serif; color: #17332b; }
.face-review-head p { max-width: 760px; margin: 0; color: #53635d; font-size: 13px; line-height: 1.6; }
.face-review-pill { flex: 0 0 auto; padding: 8px 12px; border-radius: 999px; background: #e8f7f0; color: #087a55; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.face-review-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 0; }
.face-review-video { display: grid; place-items: center; min-height: 520px; padding: 24px; background: #10251f; }
.face-review-video video { width: 100%; max-height: 620px; border-radius: 14px; background: #000; }
.face-review-details { display: grid; align-content: start; gap: 1px; background: #e5e9e7; }
.face-review-details > div { min-width: 0; padding: 17px 19px; background: #fff; }
.face-review-details span, .face-review-details strong, .face-review-details small { display: block; }
.face-review-details span { color: #68756f; font-size: 9px; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; }
.face-review-details strong { margin-top: 5px; color: #17332b; font-size: 13px; overflow-wrap: anywhere; }
.face-review-details small { margin-top: 4px; color: #6b7772; font-size: 10px; line-height: 1.45; }
.face-review-wallet, .face-review-hash { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 11px !important; }
.face-review-warning { display: flex; align-items: flex-start; gap: 12px; margin: 22px 26px 26px; padding: 15px 17px; border: 1px solid #f0d193; border-radius: 12px; background: #fff9eb; color: #75520f; }
.face-review-warning strong { flex: 0 0 auto; font-size: 12px; }
.face-review-warning span { font-size: 11px; line-height: 1.55; }

@media (max-width: 850px) {
    .face-verification-layout, .face-review-grid { grid-template-columns: 1fr; }
    .face-review-video { min-height: 360px; }
}
@media (max-width: 620px) {
    .face-verification-heading, .face-review-head { flex-direction: column; padding: 20px; }
    .face-verification-layout { padding: 16px; }
    .face-camera-stage, .face-camera-stage video { min-height: 280px; }
    .face-control-buttons { display: grid; grid-template-columns: 1fr; }
    .face-control-buttons button { width: 100%; }
    .face-review-page .admin-header { align-items: flex-start; flex-direction: column; padding: 14px 18px; }
    .face-review-page .admin-header > div { width: 100%; justify-content: space-between; }
    .face-review-shell { width: min(100% - 20px, 1180px); margin: 16px auto; }
    .face-review-video { min-height: 260px; padding: 12px; }
    .face-review-warning { flex-direction: column; margin: 16px; }
}

/* v2.16.85 — one-time KYC and provider-backed crypto identity verification */
.kyc-page{background:linear-gradient(180deg,#f4f0e8 0,#f8f7f3 45%,#eef4f2 100%);min-height:100vh}.kyc-shell,.kyc-review-shell{width:min(1180px,calc(100% - 32px));margin:32px auto 70px}.kyc-hero{padding:38px 42px;border:1px solid rgba(27,56,57,.12);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#fffaf1 55%,#eef8f4 100%);box-shadow:0 22px 55px rgba(24,48,48,.09)}.kyc-hero h1{margin:8px 0 12px;font-family:Manrope,sans-serif;font-size:clamp(30px,5vw,52px);line-height:1.06;color:#173636}.kyc-hero p{max-width:800px;margin:0;color:#5c6c6b;font-size:17px;line-height:1.65}.kyc-status-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:22px}.kyc-status-row>span:last-child{font-weight:700;color:#1d5745}.kyc-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 11px;border-radius:999px;background:#ece8df;color:#6b6256;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.kyc-status-pill.is-approved{background:#dff4e8;color:#17643d}.kyc-status-pill.is-pending-review{background:#fff0c9;color:#7d5810}.kyc-status-pill.is-rejected{background:#fde2df;color:#9a3029}.kyc-status-pill.is-not-started{background:#e8ecec;color:#536060}.kyc-progress-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.kyc-progress-grid article{display:grid;grid-template-columns:42px 1fr;grid-template-areas:"num title" "num meta";column-gap:12px;padding:18px;border:1px solid rgba(26,56,56,.1);border-radius:18px;background:#fff}.kyc-progress-grid b{grid-area:num;display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#173f3b;color:#fff}.kyc-progress-grid strong{grid-area:title;align-self:end;color:#173635}.kyc-progress-grid span{grid-area:meta;color:#778381;font-size:12px}.kyc-form{display:grid;gap:18px}.kyc-form-card{padding:26px;border:1px solid rgba(26,56,56,.11);border-radius:22px;background:#fff;box-shadow:0 14px 36px rgba(25,50,50,.06)}.kyc-card-head{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}.kyc-card-head>span{flex:0 0 auto;display:grid;place-items:center;min-width:48px;height:40px;padding:0 10px;border-radius:12px;background:#f0a637;color:#fff;font-weight:800}.kyc-card-head h2{margin:0 0 5px;color:#183837;font-family:Manrope,sans-serif}.kyc-card-head p{margin:0;color:#6e7c7a;line-height:1.55}.kyc-document-grid{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(300px,1.35fr);gap:18px;align-items:stretch}.kyc-document-grid>label:first-child{display:flex;flex-direction:column;gap:8px}.kyc-document-grid select,.kyc-admin-settings-grid input,.kyc-review-actions textarea{width:100%;min-height:46px;border:1px solid #d8dfdc;border-radius:12px;padding:11px 13px;background:#fff}.kyc-file-zone{position:relative;display:flex;min-height:126px;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1.5px dashed #94aaa4;border-radius:16px;background:#f7fbf9;cursor:pointer}.kyc-file-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.kyc-file-zone strong{color:#1f4b43}.kyc-file-zone small,.kyc-file-zone em{margin-top:5px;color:#71807d;font-style:normal}.kyc-reward-card{background:linear-gradient(135deg,#fff 0,#fff9ed 100%)}.kyc-submit-button{justify-self:end;min-width:250px}.kyc-result-card{display:flex;gap:20px;align-items:flex-start;padding:30px;border-radius:22px;background:#fff;border:1px solid rgba(30,60,60,.12);box-shadow:0 16px 40px rgba(25,50,50,.06)}.kyc-result-card>span{display:grid;place-items:center;flex:0 0 52px;height:52px;border-radius:16px;background:#edf1ef;font-size:24px}.kyc-result-card.is-approved>span{background:#dff4e8;color:#17643d}.kyc-result-card.is-pending>span{background:#fff0c9;color:#7d5810}.kyc-result-card h2{margin:0 0 8px;color:#193938}.kyc-result-card p{margin:0 0 16px;color:#687674;line-height:1.6}.face-verification-status.is-checking{border-color:#e0a133;background:#fff7e5;color:#7d5810}.face-verification-status.is-ready{border-color:#56a77c;background:#e9f8ef;color:#17643d}.face-verification-status.is-error{border-color:#dc7b72;background:#fff0ee;color:#932f28}.customer-kyc-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:11px 12px;border:1px solid #e0e6e3;border-radius:12px;background:#f8faf9}.customer-kyc-summary>div{display:flex;align-items:center;gap:8px}.customer-kyc-summary>div>span{font-size:12px;color:#71807d}.kyc-admin-settings-form{margin-top:22px;padding:22px;border:1px solid #dfe6e2;border-radius:18px;background:#f9fbfa}.kyc-admin-settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.kyc-admin-settings-grid label{display:flex;flex-direction:column;gap:7px}.kyc-admin-settings-grid label>span{font-weight:700;color:#2a4744}.kyc-admin-settings-grid label small{color:#70807d}.kyc-admin-wide{grid-column:1/-1}.kyc-provider-contract{display:flex;flex-direction:column;gap:6px;margin:18px 0;padding:15px;border-radius:13px;background:#fff5df;color:#72531f}.kyc-provider-contract code{padding:2px 5px;border-radius:5px;background:#fff}.kyc-provider-contract em{font-style:normal;font-weight:800}.legacy-setting-form{margin-top:18px;padding-top:18px;border-top:1px solid #e2e7e4}.kyc-review-summary{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:28px;border-radius:22px;background:#fff;border:1px solid #dde4e1}.kyc-review-summary h1{margin:5px 0;color:#173837}.kyc-review-summary p{margin:0;color:#6f7d7a}.kyc-review-status{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.kyc-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.kyc-evidence-card{overflow:hidden;border:1px solid #dce4e0;border-radius:20px;background:#fff}.kyc-evidence-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px}.kyc-evidence-head h2{margin:3px 0 0}.kyc-evidence-head a{font-weight:700;color:#1c6a56}.kyc-evidence-card img,.kyc-evidence-card video,.kyc-evidence-card iframe{display:block;width:100%;height:430px;object-fit:contain;border:0;background:#101414}.kyc-evidence-card iframe{background:#f4f4f4}.kyc-file-meta{display:flex;flex-direction:column;gap:4px;padding:14px 18px;background:#f8faf9}.kyc-file-meta span{font-weight:700}.kyc-file-meta small{color:#72807e}.kyc-review-detail-card{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px;padding:20px;border:1px solid #dce4e0;border-radius:18px;background:#fff}.kyc-review-detail-card div{display:flex;flex-direction:column;gap:4px}.kyc-review-detail-card span{font-size:12px;color:#74817f}.kyc-review-wide{grid-column:1/-1}.kyc-review-actions{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px;margin-top:18px;padding:20px;border:1px solid #dce4e0;border-radius:18px;background:#fff}.kyc-review-actions form{display:flex;flex-direction:column;gap:12px}.kyc-review-actions form:first-child{justify-content:center}.kyc-history-card{margin-top:18px;padding:22px;border:1px solid #dce4e0;border-radius:18px;background:#fff}.kyc-history-card h2{margin:4px 0 14px}.kyc-history-list{display:grid;gap:8px}.kyc-history-list a{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #e1e7e4;border-radius:12px;color:#294541;text-decoration:none}.kyc-history-list a.is-active{border-color:#cf8b2b;background:#fff8e9}.kyc-history-list span{color:#74817f;font-size:12px}.face-match-mini{display:block;margin-top:5px;font-weight:800}.face-match-mini.is-verified,.text-success{color:#167347}.face-match-mini.is-failed,.text-danger{color:#a33b33}
@media(max-width:900px){.kyc-progress-grid{grid-template-columns:repeat(2,1fr)}.kyc-document-grid,.kyc-review-grid,.kyc-review-actions{grid-template-columns:1fr}.kyc-admin-settings-grid{grid-template-columns:1fr 1fr}.kyc-review-detail-card{grid-template-columns:1fr 1fr}.kyc-review-summary{align-items:flex-start}.kyc-review-status{align-items:flex-start}}
@media(max-width:620px){.kyc-shell,.kyc-review-shell{width:min(100% - 18px,1180px);margin-top:14px}.kyc-hero,.kyc-form-card{padding:20px}.kyc-progress-grid,.kyc-admin-settings-grid,.kyc-review-detail-card{grid-template-columns:1fr}.kyc-review-summary{flex-direction:column}.kyc-submit-button{width:100%;min-width:0}.kyc-evidence-card img,.kyc-evidence-card video,.kyc-evidence-card iframe{height:300px}.kyc-history-list a{flex-direction:column}}


/* v2.16.88 — admin customer KYC header sizing and spacing */
.kyc-review-header {
    width: 100%;
    background: #17343f;
    color: #fff;
}
.kyc-review-header-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    width: min(1180px, calc(100% - 32px));
    min-height: 76px;
    margin: 0 auto;
    padding: 14px 0;
}
.kyc-review-header-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}
.kyc-review-header-brand img {
    display: block;
    width: 118px;
    height: auto;
    max-height: 44px;
    object-fit: contain;
}
.kyc-review-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 18px;
    min-width: 0;
}
.kyc-review-header-actions strong {
    font: 800 14px Manrope, sans-serif;
    white-space: nowrap;
}
.kyc-review-header-actions a {
    padding: 9px 12px;
    border: 1px solid rgba(230, 203, 147, .48);
    border-radius: 9px;
    color: #e6cb93;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
    white-space: nowrap;
}
.kyc-review-header-actions a:hover {
    background: rgba(230, 203, 147, .1);
}
@media (max-width: 620px) {
    .kyc-review-header-shell {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        width: min(100% - 24px, 1180px);
        padding: 12px 0;
    }
    .kyc-review-header-brand img {
        width: 102px;
        max-height: 38px;
    }
    .kyc-review-header-actions {
        justify-content: space-between;
        gap: 12px;
        width: 100%;
    }
    .kyc-review-header-actions strong {
        white-space: normal;
    }
}

/* v2.16.90 — KYC identity upload success state */
.kyc-file-zone .kyc-upload-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-bottom: 8px;
    border-radius: 50%;
    background: #e7efec;
    color: #345d54;
    font-size: 22px;
    font-weight: 900;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}
.kyc-file-zone.is-uploaded {
    border-color: #2f9b68;
    background: #eaf8f0;
    box-shadow: inset 0 0 0 1px rgba(47,155,104,.12);
}
.kyc-file-zone.is-uploaded .kyc-upload-icon {
    background: #26945f;
    color: #fff;
    transform: scale(1.06);
}
.kyc-file-zone.is-uploaded strong,
.kyc-file-zone.is-uploaded em {
    color: #17643d;
}
.kyc-file-zone.is-uploaded strong {
    font-size: 16px;
}
.kyc-file-zone.is-invalid {
    border-color: #cf655c;
    background: #fff2f0;
}
.kyc-file-zone.is-invalid .kyc-upload-icon {
    background: #cf655c;
    color: #fff;
}
.kyc-file-zone.is-invalid em {
    color: #9a3029;
}
/* v2.16.91 — recognition feedback inside camera without covering the face */
.face-camera-stage {
    --face-recognition-color: #c8ddd4;
    --face-recognition-rgb: 200,221,212;
    border-color: var(--face-recognition-color);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.08), 0 0 0 1px rgba(16,37,31,.08);
    transition: border-color .2s ease, box-shadow .2s ease;
}
.face-camera-stage::after {
    content: "";
    position: absolute;
    inset: 5px;
    z-index: 4;
    border: 1px solid rgba(var(--face-recognition-rgb),.82);
    border-radius: 13px;
    pointer-events: none;
    opacity: .82;
    transition: border-color .2s ease, box-shadow .2s ease, opacity .2s ease;
}
.face-camera-stage[data-recognition-state="red"] {
    --face-recognition-color: #ef5148;
    --face-recognition-rgb: 239,81,72;
    box-shadow: inset 0 0 0 1px rgba(239,81,72,.28), 0 0 0 3px rgba(239,81,72,.12);
}
.face-camera-stage[data-recognition-state="yellow"] {
    --face-recognition-color: #f0bd37;
    --face-recognition-rgb: 240,189,55;
    box-shadow: inset 0 0 0 1px rgba(240,189,55,.28), 0 0 0 3px rgba(240,189,55,.12);
}
.face-camera-stage[data-recognition-state="green"] {
    --face-recognition-color: #35bd73;
    --face-recognition-rgb: 53,189,115;
    box-shadow: inset 0 0 0 1px rgba(53,189,115,.28), 0 0 0 3px rgba(53,189,115,.12);
}
.face-camera-stage[data-recognition-state="red"]::after,
.face-camera-stage[data-recognition-state="yellow"]::after,
.face-camera-stage[data-recognition-state="green"]::after {
    border-width: 2px;
    box-shadow: inset 0 0 18px rgba(var(--face-recognition-rgb),.16);
}
.face-recognition-meter {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 9px;
    width: max-content;
    max-width: calc(100% - 24px);
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(var(--face-recognition-rgb),.72);
    border-radius: 999px;
    background: rgba(10,20,17,.76);
    color: #fff;
    box-shadow: 0 5px 18px rgba(0,0,0,.22);
    backdrop-filter: blur(7px);
    pointer-events: none;
}
.face-recognition-meter > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}
.face-recognition-meter strong {
    color: #fff;
    font-size: 11px;
    line-height: 1.2;
}
.face-recognition-meter small {
    overflow: hidden;
    color: rgba(255,255,255,.76);
    font-size: 9px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.face-recognition-state-mark {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--face-recognition-color);
    box-shadow: 0 0 0 4px rgba(var(--face-recognition-rgb),.20), 0 0 10px var(--face-recognition-color);
}
.face-recognition-meter[data-state="red"] strong { color: #ffd8d4; }
.face-recognition-meter[data-state="yellow"] strong { color: #fff0b8; }
.face-recognition-meter[data-state="green"] strong { color: #c8f8dc; }
.face-camera-stage.is-reviewing .face-recognition-meter { display: none; }


/* v2.16.93 — administrator-controlled KYC result email */
.kyc-result-email-card {
    margin-top: 18px;
    padding: 22px;
    border: 1px solid #dce4e0;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(25,50,50,.05);
}
.kyc-result-email-card.is-approved { border-top: 4px solid #2f9b68; }
.kyc-result-email-card.is-rejected { border-top: 4px solid #cf655c; }
.kyc-result-email-head,
.kyc-result-email-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.kyc-result-email-head h2 { margin: 4px 0 5px; color: #173837; }
.kyc-result-email-head p { margin: 0; color: #6f7d7a; }
.kyc-result-email-card form { margin-top: 18px; }
.kyc-reject-note { display: flex; flex-direction: column; gap: 8px; }
.kyc-reject-note > span { font-weight: 800; color: #452f2c; }
.kyc-reject-note textarea {
    width: 100%;
    min-height: 130px;
    resize: vertical;
    border: 1px solid #e2c9c5;
    border-radius: 12px;
    padding: 12px 14px;
    background: #fffafa;
    color: #30201e;
    font: inherit;
    line-height: 1.55;
}
.kyc-reject-note textarea:focus { outline: 3px solid rgba(207,101,92,.14); border-color: #cf655c; }
.kyc-reject-note small { color: #806b68; }
.kyc-result-email-footer {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #e5eae7;
}
.kyc-result-email-footer > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.kyc-result-email-footer strong { color: #294541; }
.kyc-result-email-footer small { overflow-wrap: anywhere; color: #74817f; }
@media (max-width: 620px) {
    .kyc-result-email-head,
    .kyc-result-email-footer { align-items: stretch; flex-direction: column; }
    .kyc-result-email-head .kyc-status-pill { align-self: flex-start; }
    .kyc-result-email-footer .primary-button { width: 100%; }
}

/* v2.16.98 - Change Password validation error state */
.password-change-card.is-error { border-color: #e59a9a; background: #fff3f3; box-shadow: 0 18px 50px rgba(184, 45, 45, .16); }
.password-change-card.is-error > .account-collapse-summary,
.password-change-card.is-error[open] > .account-collapse-summary,
.password-change-card.is-error > .account-collapse-summary:hover { border-bottom-color: #f0bcbc; background: linear-gradient(135deg, #fff0f0, #ffe5e5); }
.password-change-card.is-error .card-kicker,
.password-change-card.is-error .profile-card-head h2 { color: #a32222; }
.password-change-card.is-error .profile-card-head p { color: #7a3434; }
.password-change-card.is-error .account-collapse-body { background: #fff8f8; }
.password-change-card.is-error .account-collapse-action { color: #a32222; }
.password-change-card.is-error .account-collapse-action i { border-color: #e59a9a; background: #fff; }
.password-change-card.is-error .account-collapse-action i::before { color: #a32222; }
.password-change-error-badge { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border: 1px solid #e6a0a0; border-radius: 999px; background: rgba(255,255,255,.78); color: #a32222; font-size: 11px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap; }
.password-change-error-badge > span { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #c43d3d; color: #fff; font-size: 12px; font-weight: 900; }
.password-change-error-message { display: flex; align-items: center; gap: 13px; padding: 15px 17px; border: 1px solid #e6a0a0; border-radius: 14px; background: #ffe7e7; color: #9d2020; }
.password-change-error-icon { display: grid; flex: 0 0 34px; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: #c43d3d; color: #fff; font-size: 20px; font-weight: 900; box-shadow: 0 7px 16px rgba(196,61,61,.22); }
.password-change-error-message strong { display: block; font: 800 15px/1.3 Manrope, sans-serif; }
.password-change-error-message small { display: block; margin-top: 3px; color: #7e3434; font-size: 12px; line-height: 1.45; }

/* v2.16.99 — refined administrator KYC decision controls */
.kyc-review-actions {
    display: block;
    margin-top: 18px;
    padding: 24px;
    border: 1px solid #dbe5e1;
    border-radius: 20px;
    background: linear-gradient(145deg, #ffffff 0%, #f8fbfa 100%);
    box-shadow: 0 16px 38px rgba(25, 50, 50, .07);
}
.kyc-review-actions-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
}
.kyc-review-actions-head h2 {
    margin: 4px 0 5px;
    color: #173837;
    font: 800 21px/1.25 Manrope, sans-serif;
}
.kyc-review-actions-head p {
    max-width: 680px;
    margin: 0;
    color: #6f7d7a;
    line-height: 1.55;
}
.kyc-decision-required {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
    padding: 8px 11px;
    border: 1px solid #ead7b7;
    border-radius: 999px;
    color: #765321;
    background: #fff8e9;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}
.kyc-decision-required > span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #c98b2d;
    box-shadow: 0 0 0 4px rgba(201, 139, 45, .13);
}
.kyc-decision-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 14px;
}
.kyc-decision-form {
    display: block;
    min-width: 0;
}
.kyc-decision-button {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 24px;
    align-items: center;
    gap: 14px;
    width: 100%;
    min-height: 96px;
    padding: 17px 18px;
    border-radius: 16px;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.kyc-decision-button:hover {
    transform: translateY(-2px);
}
.kyc-decision-button:active {
    transform: translateY(0);
}
.kyc-decision-button:focus-visible {
    outline: 3px solid rgba(31, 128, 88, .22);
    outline-offset: 3px;
}
.kyc-decision-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
}
.kyc-decision-icon svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.kyc-decision-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
}
.kyc-decision-copy strong {
    font: 800 15px/1.35 Manrope, sans-serif;
}
.kyc-decision-copy small {
    font-size: 12px;
    line-height: 1.45;
}
.kyc-decision-arrow {
    font-size: 22px;
    font-weight: 800;
    transition: transform .18s ease;
}
.kyc-decision-button:hover .kyc-decision-arrow {
    transform: translateX(3px);
}
.kyc-decision-button.is-approve {
    border: 1px solid #116340;
    color: #fff;
    background: linear-gradient(135deg, #238a5d 0%, #126a45 100%);
    box-shadow: 0 14px 28px rgba(22, 111, 73, .22);
}
.kyc-decision-button.is-approve:hover {
    border-color: #0c5736;
    background: linear-gradient(135deg, #1f8156 0%, #0e5d3b 100%);
    box-shadow: 0 18px 34px rgba(22, 111, 73, .29);
}
.kyc-decision-button.is-approve .kyc-decision-icon {
    color: #fff;
    background: rgba(255, 255, 255, .15);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}
.kyc-decision-button.is-approve small {
    color: rgba(255, 255, 255, .8);
}
.kyc-decision-button.is-reject {
    border: 1px solid #e4b7b2;
    color: #923c35;
    background: #fffafa;
    box-shadow: 0 10px 24px rgba(129, 50, 43, .07);
}
.kyc-decision-button.is-reject:hover {
    border-color: #cf756c;
    background: #fff1ef;
    box-shadow: 0 14px 28px rgba(129, 50, 43, .12);
}
.kyc-decision-button.is-reject:focus-visible {
    outline-color: rgba(207, 101, 92, .22);
}
.kyc-decision-button.is-reject .kyc-decision-icon {
    color: #a7433b;
    background: #ffe7e4;
    box-shadow: inset 0 0 0 1px rgba(167, 67, 59, .08);
}
.kyc-decision-button.is-reject small {
    color: #8a6a67;
}
@media (max-width: 900px) {
    .kyc-decision-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .kyc-review-actions {
        padding: 18px;
        border-radius: 17px;
    }
    .kyc-review-actions-head {
        flex-direction: column;
        gap: 12px;
    }
    .kyc-decision-required {
        align-self: flex-start;
    }
    .kyc-decision-button {
        grid-template-columns: 44px minmax(0, 1fr) 18px;
        min-height: 92px;
        padding: 15px;
    }
    .kyc-decision-icon {
        width: 44px;
        height: 44px;
    }
}

/* BBG Exchange Master v2.17.00 — protected Payment Bank Account reveal */
.status-expired { color: #8f2d22 !important; background: #ffe7e2 !important; }
.protected-payment-checkout > p { line-height: 1.75; }
.protected-payment-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.protected-payment-summary > div:nth-child(3) { border-color: #dbc58f; background: #fff9eb; }
.protected-payment-summary > div:nth-child(4) { border-color: #bcd9cb; background: #f1faf5; }
.payment-reveal-countdown {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    margin: 18px 0;
    padding: 17px 19px;
    border: 1px solid #d9bd7a;
    border-radius: 15px;
    background: linear-gradient(135deg, #fff9e9, #f8f1df);
    box-shadow: 0 12px 30px rgba(117, 84, 31, .09);
}
.payment-reveal-countdown > div { display: grid; gap: 3px; min-width: 116px; }
.payment-reveal-countdown span { color: #806329; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.payment-reveal-countdown strong { color: #583d0c; font: 900 30px/1 Manrope, sans-serif; letter-spacing: .04em; }
.payment-reveal-countdown p { margin: 0; color: #6e6046; font-size: 13px; line-height: 1.55; }
.payment-reveal-countdown.is-urgent { border-color: #e29258; background: linear-gradient(135deg, #fff2e5, #ffe8d7); }
.payment-reveal-countdown.is-urgent strong { color: #b14a1d; }
.payment-reveal-countdown.is-expired { border-color: #df978c; background: #fff0ed; }
.payment-reveal-countdown.is-expired strong { color: #a92d20; }
.protected-bank-selection { margin-top: 4px; }
.bank-account-tab span { flex-direction: column; gap: 3px; }
.bank-account-tab span small { font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bank-account-tab.is-locked span small { color: #8d6c35; }
.bank-account-tab.is-revealed span small { color: #247252; }
.bank-account-tab.is-revealed input:checked + span { border-color: #63a486; background: #edf8f2; color: #205f46; box-shadow: 0 0 0 3px rgba(58, 133, 95, .12); }
.payment-bank-reveal-card { position: relative; overflow: hidden; }
.payment-bank-reveal-card.is-locked {
    border-color: #d8c8aa;
    background:
        linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,242,229,.96)),
        repeating-linear-gradient(135deg, transparent 0 12px, rgba(128, 102, 56, .035) 12px 24px);
}
.payment-bank-reveal-card.is-revealed { border-color: #a9d2bd; background: linear-gradient(135deg, #f5fcf8, #eef8f3); }
.locked-payment-account-hero,
.payment-account-card-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(45, 62, 69, .09);
}
.locked-payment-account-hero { justify-content: flex-start; }
.locked-payment-account-hero p { margin: 5px 0 0; color: #6f6759; font-size: 13px; line-height: 1.5; }
.locked-payment-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    flex: 0 0 54px;
    border: 1px solid #d5bd8a;
    border-radius: 50%;
    background: #fff7e4;
    font-size: 25px;
    box-shadow: 0 9px 22px rgba(109, 79, 31, .12);
}
.payment-account-card-heading > b {
    padding: 8px 11px;
    border: 1px solid #91c4aa;
    border-radius: 999px;
    color: #236447;
    background: #e4f5ec;
    font-size: 11px;
    letter-spacing: .04em;
}
.masked-payment-detail { filter: blur(.35px); user-select: none; }
.masked-payment-detail strong { color: #887c69 !important; letter-spacing: .12em; }
.payment-account-reveal-action {
    grid-column: 1 / -1;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 5px;
    padding: 16px;
    border: 1px solid #d9c28d;
    border-radius: 13px;
    background: #fff9eb;
}
.payment-account-reveal-action > div { display: grid; gap: 4px; }
.payment-account-reveal-action > div > span { color: #7d6738; }
.payment-account-reveal-action > div > strong { color: #5f4315; font: 900 18px Manrope, sans-serif; }
.payment-account-reveal-action > div > small { color: #7c725f; font-size: 12px; }
.reveal-payment-account-button {
    min-height: 46px;
    padding: 0 19px;
    border: 0;
    border-radius: 11px;
    color: #fff;
    background: linear-gradient(135deg, #8e682c, #bf9147);
    font: 800 13px Manrope, sans-serif;
    box-shadow: 0 10px 23px rgba(121, 86, 34, .22);
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.reveal-payment-account-button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 14px 29px rgba(121, 86, 34, .28); }
.reveal-payment-account-button:focus-visible { outline: 3px solid rgba(190, 145, 69, .28); outline-offset: 3px; }
.reveal-payment-account-button:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; }
.reveal-balance-warning {
    grid-column: 1 / -1;
    padding: 11px 13px;
    border: 1px solid #e2a49a;
    border-radius: 10px;
    color: #982f23;
    background: #fff0ed;
    font-size: 12px;
    font-weight: 800;
}
.payment-account-reveal-receipt {
    grid-column: 1 / -1;
    padding: 12px 14px;
    border: 1px solid #b5d8c5;
    border-radius: 11px;
    background: #eaf7f0;
}
.payment-account-reveal-receipt small { color: #5e7d6e; font-size: 11px; }
.payment-completion-area { display: grid; gap: 17px; }
.payment-completion-area[hidden] { display: none !important; }
.reveal-fee-final-note { border-color: #b9d7c7; background: #f0faf5; }
.reveal-fee-final-note strong { color: #246448; }
.expired-checkout { text-align: center; }
.expired-mark {
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(135deg, #a23b2f, #d06858);
    font: 800 42px/1 Manrope, sans-serif;
    box-shadow: 0 15px 35px rgba(155, 53, 42, .24);
}
.expired-checkout > p { max-width: 650px; margin: 0 auto 18px; }
.expired-checkout .checkout-actions { justify-content: center; }

@media (max-width: 900px) {
    .protected-payment-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 680px) {
    .protected-payment-summary { grid-template-columns: 1fr; }
    .payment-reveal-countdown { grid-template-columns: 1fr; }
    .payment-account-reveal-action,
    .locked-payment-account-hero,
    .payment-account-card-heading { align-items: flex-start; flex-direction: column; }
    .reveal-payment-account-button { width: 100%; }
    .payment-account-card-heading > b { align-self: flex-start; }
}

/* BBG Exchange Master v2.17.01 — reveal authorization confirmation */
body.has-transaction-authorization-modal { overflow: hidden; }
.transaction-authorization-modal[hidden] { display: none !important; }
.transaction-authorization-modal {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: center;
    padding: 22px;
}
.transaction-authorization-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(20, 25, 28, .72);
    backdrop-filter: blur(7px);
    -webkit-backdrop-filter: blur(7px);
}
.transaction-authorization-dialog {
    position: relative;
    width: min(760px, 100%);
    max-height: min(88vh, 880px);
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(195, 151, 70, .5);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .35);
    animation: transactionAuthorizationEnter .2s ease-out;
}
@keyframes transactionAuthorizationEnter {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
}
.transaction-authorization-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    padding: 20px 22px;
    border-bottom: 1px solid #eadfcb;
    background: linear-gradient(135deg, #fff9ea, #fffdf8);
}
.transaction-authorization-header h2 {
    margin: 3px 0 0;
    color: #3e2d10;
    font: 800 clamp(19px, 3vw, 25px)/1.25 Manrope, sans-serif;
}
.transaction-authorization-warning {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border: 1px solid #e3bf77;
    border-radius: 14px;
    background: #fff2cc;
    font-size: 24px;
    box-shadow: 0 8px 20px rgba(126, 89, 26, .12);
}
.transaction-authorization-close {
    width: 38px;
    height: 38px;
    border: 1px solid #ddcfb6;
    border-radius: 10px;
    color: #735f3c;
    background: rgba(255, 255, 255, .75);
    font: 500 25px/1 sans-serif;
    cursor: pointer;
}
.transaction-authorization-close:hover { color: #8d3024; border-color: #dfaba3; background: #fff0ed; }
.transaction-authorization-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 14px 22px;
    border-bottom: 1px solid #eee8dc;
    background: #fcfaf5;
}
.transaction-authorization-summary > div {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid #e7decd;
    border-radius: 11px;
    background: #fff;
}
.transaction-authorization-summary span { color: #7d7466; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.transaction-authorization-summary strong { color: #443419; font: 800 13px/1.4 Manrope, sans-serif; }
.transaction-authorization-content {
    overflow-y: auto;
    padding: 20px 24px 23px;
    overscroll-behavior: contain;
}
.transaction-authorization-content section { display: grid; gap: 11px; }
.transaction-authorization-content h3 { margin: 0 0 2px; color: #422f0e; font: 800 17px/1.35 Manrope, sans-serif; }
.transaction-authorization-content p { margin: 0; color: #4f5558; font-size: 13.5px; line-height: 1.72; }
.transaction-authorization-content section[lang="zh-Hans"] p { line-height: 1.9; }
.transaction-authorization-language-divider {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 19px 0;
    color: #92713c;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
}
.transaction-authorization-language-divider::before,
.transaction-authorization-language-divider::after { content: ""; height: 1px; flex: 1; background: #e5d8c1; }
.transaction-authorization-actions {
    display: flex;
    justify-content: flex-end;
    gap: 11px;
    padding: 16px 22px;
    border-top: 1px solid #e9e2d6;
    background: #fff;
    box-shadow: 0 -8px 20px rgba(40, 35, 25, .04);
}
.transaction-authorization-cancel,
.transaction-authorization-agree {
    min-width: 120px;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 11px;
    font: 800 13px Manrope, sans-serif;
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.transaction-authorization-cancel { border: 1px solid #cfd4d3; color: #4f5a59; background: #fff; }
.transaction-authorization-cancel:hover { background: #f3f5f4; }
.transaction-authorization-agree {
    border: 1px solid #8f6827;
    color: #fff;
    background: linear-gradient(135deg, #8e682c, #bf9147);
    box-shadow: 0 10px 24px rgba(121, 86, 34, .24);
}
.transaction-authorization-agree:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(121, 86, 34, .3); }
.transaction-authorization-agree:disabled { cursor: wait; opacity: .7; }
.transaction-authorization-close:focus-visible,
.transaction-authorization-cancel:focus-visible,
.transaction-authorization-agree:focus-visible { outline: 3px solid rgba(190, 145, 69, .3); outline-offset: 3px; }
@media (max-width: 680px) {
    .transaction-authorization-modal { padding: 10px; align-items: end; }
    .transaction-authorization-dialog { max-height: 94vh; border-radius: 20px 20px 12px 12px; }
    .transaction-authorization-header { grid-template-columns: auto minmax(0, 1fr) auto; padding: 16px; }
    .transaction-authorization-warning { width: 42px; height: 42px; font-size: 21px; }
    .transaction-authorization-summary { grid-template-columns: 1fr; padding: 12px 16px; }
    .transaction-authorization-content { padding: 17px 18px 20px; }
    .transaction-authorization-actions { display: grid; grid-template-columns: 1fr 1fr; padding: 14px 16px; }
    .transaction-authorization-cancel,
    .transaction-authorization-agree { min-width: 0; width: 100%; }
}


/* BBG Exchange Master v2.17.02 — simplified single-account payment reveal */
.protected-bank-selection .bank-account-tabs.has-single-account {
    grid-template-columns: minmax(0, 1fr);
}
.protected-bank-selection .bank-account-tab span {
    min-height: 96px;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
    padding: 16px 18px;
    text-align: left;
}
.protected-bank-selection .bank-account-tab span b {
    font: 800 15px/1.3 Manrope, sans-serif;
}
.protected-bank-selection .bank-account-tab span small {
    max-width: 520px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
    text-transform: none;
}
.protected-bank-selection .account-tab-saving span {
    border-color: #efb05d;
    color: #8b4307;
    background: linear-gradient(135deg, #fff7ec, #ffead1);
}
.protected-bank-selection .account-tab-saving span small { color: #9b602d; }
.protected-bank-selection .account-tab-saving input:checked + span,
.protected-bank-selection .account-tab-saving.is-revealed input:checked + span {
    border-color: #e77b14;
    color: #713000;
    background: linear-gradient(135deg, #fff1dc, #ffd59e);
    box-shadow: 0 0 0 3px rgba(231, 123, 20, .18), 0 12px 27px rgba(191, 91, 5, .13);
}
.protected-bank-selection .account-tab-current span {
    border-color: #83b8eb;
    color: #155b9c;
    background: linear-gradient(135deg, #f2f8ff, #deeeff);
}
.protected-bank-selection .account-tab-current span small { color: #477aa8; }
.protected-bank-selection .account-tab-current input:checked + span,
.protected-bank-selection .account-tab-current.is-revealed input:checked + span {
    border-color: #287ecb;
    color: #104d84;
    background: linear-gradient(135deg, #eaf5ff, #cce6ff);
    box-shadow: 0 0 0 3px rgba(40, 126, 203, .17), 0 12px 27px rgba(21, 91, 156, .13);
}
.payment-bank-reveal-card.is-locked {
    display: block;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}
.payment-account-reveal-action.payment-account-reveal-action-only {
    display: block !important;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.payment-account-reveal-action-only .reveal-payment-account-button {
    width: 100%;
    min-height: 58px;
    padding: 0 24px;
    border-radius: 13px;
    font-size: 15px;
}
.reveal-payment-account-button.reveal-account-saving {
    background: linear-gradient(135deg, #ef8b22, #d96908);
    box-shadow: 0 12px 27px rgba(200, 91, 5, .25);
}
.reveal-payment-account-button.reveal-account-saving:hover:not(:disabled) {
    box-shadow: 0 16px 32px rgba(200, 91, 5, .32);
}
.reveal-payment-account-button.reveal-account-saving:focus-visible {
    outline-color: rgba(231, 123, 20, .32);
}
.reveal-payment-account-button.reveal-account-current {
    background: linear-gradient(135deg, #2d8bd8, #1767b0);
    box-shadow: 0 12px 27px rgba(23, 103, 176, .25);
}
.reveal-payment-account-button.reveal-account-current:hover:not(:disabled) {
    box-shadow: 0 16px 32px rgba(23, 103, 176, .32);
}
.reveal-payment-account-button.reveal-account-current:focus-visible {
    outline-color: rgba(40, 126, 203, .32);
}
@media (max-width: 680px) {
    .protected-bank-selection .bank-account-tab span { min-height: 104px; }
}

/* BBG Exchange Master v2.17.03 — compact revealed-account countdown */
.payment-account-card-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
    align-items: center;
}
.payment-account-card-title {
    display: grid;
    justify-items: start;
    gap: 5px;
}
.payment-account-card-title > b {
    margin-top: 5px;
    padding: 8px 11px;
    border: 1px solid #91c4aa;
    border-radius: 999px;
    color: #236447;
    background: #e4f5ec;
    font-size: 11px;
    letter-spacing: .04em;
}
.payment-account-card-heading .payment-reveal-countdown-inline {
    width: 100%;
    margin: 0;
    padding: 13px 15px;
    gap: 14px;
    border-radius: 13px;
    box-shadow: 0 8px 22px rgba(117, 84, 31, .08);
}
.payment-account-card-heading .payment-reveal-countdown-inline > div {
    min-width: 96px;
}
.payment-account-card-heading .payment-reveal-countdown-inline strong {
    font-size: 27px;
}
.payment-account-card-heading .payment-reveal-countdown-inline p {
    font-size: 12px;
    line-height: 1.45;
}
@media (max-width: 900px) {
    .payment-account-card-heading {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .payment-account-card-heading .payment-reveal-countdown-inline {
        margin-top: 4px;
    }
}
@media (max-width: 680px) {
    .payment-account-card-heading {
        display: grid;
    }
    .payment-account-card-heading .payment-reveal-countdown-inline {
        grid-template-columns: auto minmax(0, 1fr);
    }
}
@media (max-width: 430px) {
    .payment-account-card-heading .payment-reveal-countdown-inline {
        grid-template-columns: 1fr;
    }
}

/* v2.17.05 — refined backup calendar and data-maintenance layout */
.maintenance-admin-page .admin-header {
    margin-bottom: 22px;
}
.maintenance-admin-page .admin-header > div:first-child {
    max-width: 820px;
}
.maintenance-admin-page .admin-card {
    overflow: hidden;
}
.maintenance-admin-page .admin-card-head {
    align-items: flex-start;
}
.maintenance-admin-page .admin-card-head > div {
    min-width: 0;
}
.maintenance-admin-page .admin-card-head form {
    flex: 0 0 auto;
}
.maintenance-admin-page .admin-card-head .primary-button {
    min-height: 42px;
    white-space: nowrap;
}

.maintenance-status-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin: 0 0 22px;
}
.maintenance-status-grid article {
    position: relative;
    min-width: 0;
    min-height: 132px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    gap: 7px;
    border: 1px solid #e4e7eb;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(18, 31, 42, .05);
}
.maintenance-status-grid article::before {
    content: "";
    position: absolute;
    top: 0;
    left: 20px;
    right: 20px;
    height: 3px;
    border-radius: 0 0 999px 999px;
    background: linear-gradient(90deg, #b88a49, #e5c990);
}
.maintenance-status-grid span {
    margin-top: 4px;
    color: #7a838b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.maintenance-status-grid strong {
    color: #0c1720;
    font: 800 19px/1.3 Manrope, sans-serif;
    overflow-wrap: anywhere;
}
.maintenance-status-grid small {
    margin-top: auto;
    color: #68737c;
    line-height: 1.5;
}

.maintenance-info-banner,
.maintenance-warning-banner {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 15px 17px;
    border-radius: 14px;
}
.maintenance-backup-card .maintenance-info-banner {
    margin: 20px 26px 26px;
}
.maintenance-cleanup-section > .maintenance-warning-banner {
    margin: 22px 26px 0;
}
.maintenance-info-banner {
    border: 1px solid #cfe2f6;
    color: #1c4d75;
    background: #eef6ff;
}
.maintenance-warning-banner {
    border: 1px solid #ead3a2;
    color: #74531a;
    background: #fff5df;
}
.maintenance-info-banner strong,
.maintenance-warning-banner strong {
    flex: 0 0 auto;
    white-space: nowrap;
}
.maintenance-info-banner span,
.maintenance-warning-banner span {
    line-height: 1.55;
}
.maintenance-info-banner code {
    padding: 2px 6px;
    border-radius: 5px;
    background: rgba(255, 255, 255, .72);
}

/* Backup calendar */
.maintenance-calendar-shell {
    margin: 24px 26px 0;
    border: 1px solid #dde4df;
    border-radius: 18px;
    background: #fbfdfb;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9);
    overflow: hidden;
}
.maintenance-calendar-toolbar {
    min-height: 76px;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #e3e9e5;
    background: linear-gradient(135deg, #f7fbf8, #eef5f0);
}
.maintenance-calendar-title {
    min-width: 0;
}
.maintenance-calendar-title span {
    display: block;
    margin-bottom: 3px;
    color: #688073;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.maintenance-calendar-title h3 {
    margin: 0;
    color: #173127;
    font: 800 22px/1.25 Manrope, sans-serif;
}
.maintenance-calendar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}
.maintenance-calendar-nav {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    border: 1px solid #cad9d0;
    border-radius: 11px;
    color: #234d3a;
    background: #fff;
    box-shadow: 0 5px 14px rgba(27, 70, 50, .07);
    font: 800 25px/1 Manrope, sans-serif;
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.maintenance-calendar-nav:hover {
    transform: translateY(-1px);
    border-color: #7aae91;
    box-shadow: 0 8px 18px rgba(27, 70, 50, .11);
}
.maintenance-calendar-actions .admin-filter-reset {
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border: 1px solid #d6ded9;
    border-radius: 10px;
    color: #42564a;
    background: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.maintenance-calendar-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 13px 16px;
    border-bottom: 1px solid #e7ece8;
    color: #65746b;
    background: #fff;
    font-size: 11px;
    font-weight: 700;
}
.maintenance-calendar-legend span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.maintenance-calendar-legend-dot {
    width: 11px;
    height: 11px;
    display: inline-block;
    border-radius: 4px;
}
.maintenance-calendar-legend-dot.is-available {
    border: 1px solid #58a776;
    background: #dff4e7;
}
.maintenance-calendar-legend-dot.is-selected {
    border: 2px solid #1e7a48;
    background: #fff;
}

.maintenance-calendar-weekdays,
.maintenance-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}
.maintenance-calendar-weekdays {
    border-bottom: 1px solid #e7ece8;
    background: #f4f8f5;
}
.maintenance-calendar-weekdays span {
    padding: 10px 8px;
    color: #718077;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}
.maintenance-calendar-grid {
    gap: 1px;
    background: #e4eae6;
}
.maintenance-calendar-day {
    position: relative;
    min-width: 0;
    min-height: 84px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding: 11px;
    color: #314139;
    background: #fff;
    text-decoration: none;
    transition: background .16s ease, box-shadow .16s ease, transform .16s ease;
}
.maintenance-calendar-day:hover {
    z-index: 1;
    background: #f7faf8;
    box-shadow: inset 0 0 0 2px #c9dbd0;
}
.maintenance-calendar-day-number {
    display: inline-grid;
    place-items: center;
    min-width: 28px;
    height: 28px;
    padding: 0 6px;
    border-radius: 9px;
    font: 800 13px Manrope, sans-serif;
}
.maintenance-calendar-day small {
    display: inline-flex;
    align-items: center;
    margin-top: auto;
    padding: 4px 7px;
    border-radius: 999px;
    color: #1e6842;
    background: rgba(255, 255, 255, .72);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .03em;
    white-space: nowrap;
}
.maintenance-calendar-day.has-backup {
    color: #155f37;
    background: linear-gradient(145deg, #eaf8ef, #dff3e7);
    box-shadow: inset 0 0 0 1px #74bc8d;
}
.maintenance-calendar-day.has-backup::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #2b9b5b;
    box-shadow: 0 0 0 4px rgba(43, 155, 91, .12);
}
.maintenance-calendar-day.has-backup:hover {
    background: linear-gradient(145deg, #e3f6ea, #d6efdf);
    box-shadow: inset 0 0 0 2px #4ca96d;
}
.maintenance-calendar-day.is-selected {
    z-index: 2;
    box-shadow: inset 0 0 0 3px #1f7a49;
}
.maintenance-calendar-day.is-selected .maintenance-calendar-day-number {
    color: #fff;
    background: #1f7a49;
}
.maintenance-calendar-day.is-today:not(.is-selected) .maintenance-calendar-day-number {
    box-shadow: inset 0 0 0 1px #bd8a45;
    color: #895e26;
    background: #fff8ec;
}
.maintenance-calendar-day.is-other-month {
    color: #a2ada6;
    background: #f7f9f7;
}
.maintenance-calendar-day.is-other-month.has-backup {
    color: #4f7861;
    background: #edf5f0;
    opacity: .82;
}

.maintenance-selected-date-summary {
    margin: 18px 26px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 17px;
    border: 1px solid #e0e5e2;
    border-radius: 14px;
    background: #f8faf9;
}
.maintenance-selected-date-summary > div {
    min-width: 0;
}
.maintenance-selected-date-summary > div span {
    display: block;
    margin-bottom: 3px;
    color: #7b8780;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.maintenance-selected-date-summary > div strong {
    color: #1d2e25;
    font: 800 15px/1.35 Manrope, sans-serif;
}
.maintenance-selected-date-summary > span {
    flex: 0 0 auto;
    padding: 7px 11px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}
.maintenance-selected-date-summary > span.has-backup {
    border: 1px solid #a8d7ba;
    color: #17653a;
    background: #e3f5ea;
}
.maintenance-selected-date-summary > span.is-empty {
    border: 1px solid #d8ddda;
    color: #78847d;
    background: #fff;
}

/* Backup records */
.maintenance-backup-list {
    display: grid;
    gap: 14px;
    margin: 14px 26px 26px;
}
.maintenance-backup-item {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr) minmax(290px, 360px);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid #e3e7ea;
    border-radius: 16px;
    background: #fbfcfc;
    box-shadow: 0 7px 20px rgba(18, 31, 42, .035);
}
.maintenance-backup-time {
    display: grid;
    gap: 4px;
    align-self: stretch;
    align-content: center;
    padding-right: 16px;
    border-right: 1px solid #e0e4e7;
}
.maintenance-backup-time strong {
    color: #111f29;
    font: 800 20px/1.25 Manrope, sans-serif;
}
.maintenance-backup-time span {
    color: #75808a;
    font-size: 11px;
}
.maintenance-backup-details {
    min-width: 0;
    display: grid;
    gap: 7px;
}
.maintenance-backup-details > div {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
}
.maintenance-backup-details strong {
    min-width: 0;
    color: #18242d;
    overflow-wrap: anywhere;
}
.maintenance-backup-details small {
    color: #66727b;
}
.maintenance-backup-details code {
    color: #7a838a;
    font-size: 10px;
    overflow-wrap: anywhere;
}
.maintenance-type-badge,
.maintenance-risk-label {
    display: inline-flex;
    width: max-content;
    flex: 0 0 auto;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.maintenance-type-badge {
    color: #765b2e;
    background: #eee7d9;
}

.maintenance-protected-form {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 9px 10px;
    padding: 13px;
    border: 1px solid #e4e7e9;
    border-radius: 13px;
    background: #fff;
}
.maintenance-protected-form label {
    min-width: 0;
    display: grid;
    gap: 5px;
}
.maintenance-protected-form label span {
    color: #5e6870;
    font-size: 10px;
    font-weight: 800;
}
.maintenance-protected-form input {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    padding: 10px 11px;
    border: 1px solid #cfd5da;
    border-radius: 9px;
    color: #18232c;
    background: #fff;
    font: inherit;
}
.maintenance-protected-form input:focus {
    outline: 2px solid rgba(154, 122, 70, .22);
    border-color: #9a7a46;
}
.maintenance-protected-form button {
    grid-column: 1 / -1;
}
.maintenance-danger-button {
    min-height: 41px;
    padding: 10px 14px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: #9a302c;
    box-shadow: 0 7px 18px rgba(154, 48, 44, .17);
    font: 700 12px Manrope, sans-serif;
    cursor: pointer;
}
.maintenance-danger-button:hover {
    background: #812521;
}
.maintenance-danger-button:disabled {
    opacity: .65;
    cursor: wait;
}

.maintenance-empty {
    min-height: 122px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 28px;
    border: 1px dashed #cbd2d7;
    border-radius: 14px;
    color: #68737c;
    background: #fafbfb;
    text-align: center;
}
.maintenance-empty strong {
    color: #1b2831;
}

/* Cleanup section */
.maintenance-cleanup-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 18px 26px 26px;
}
.maintenance-cleanup-grid > article {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 20px;
    padding: 20px;
    border: 1px solid #e1d6c2;
    border-radius: 17px;
    background: #fffaf1;
}
.maintenance-cleanup-grid h3 {
    margin: 8px 0;
    color: #252019;
    font: 800 20px/1.35 Manrope, sans-serif;
}
.maintenance-cleanup-grid p {
    margin: 0;
    color: #655f56;
    line-height: 1.65;
}
.maintenance-risk-label {
    color: #74531a;
    background: #f3dfb7;
}
.maintenance-critical-card {
    border-color: #e3b5b2 !important;
    background: #fff5f4 !important;
}
.maintenance-critical-card .maintenance-risk-label {
    color: #8b2d29;
    background: #efcecb;
}
.maintenance-critical-button {
    background: #741d1a;
}
.maintenance-critical-button:hover {
    background: #5e1513;
}

@media (max-width: 1180px) {
    .maintenance-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .maintenance-backup-item {
        grid-template-columns: 105px minmax(0, 1fr);
    }
    .maintenance-backup-item .maintenance-protected-form {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .maintenance-admin-page .admin-header {
        display: grid;
        gap: 14px;
    }
    .maintenance-admin-page .admin-date {
        width: max-content;
        max-width: 100%;
    }
    .maintenance-admin-page .admin-card-head {
        gap: 16px;
    }
    .maintenance-admin-page .admin-card-head form,
    .maintenance-admin-page .admin-card-head .primary-button {
        width: 100%;
    }
    .maintenance-status-grid,
    .maintenance-cleanup-grid {
        grid-template-columns: 1fr;
    }
    .maintenance-info-banner,
    .maintenance-warning-banner {
        display: grid;
    }
    .maintenance-info-banner strong,
    .maintenance-warning-banner strong {
        white-space: normal;
    }
    .maintenance-calendar-shell {
        overflow-x: auto;
    }
    .maintenance-calendar-toolbar,
    .maintenance-calendar-legend {
        min-width: 620px;
    }
    .maintenance-calendar-weekdays,
    .maintenance-calendar-grid {
        min-width: 620px;
    }
    .maintenance-calendar-day {
        min-height: 76px;
        padding: 9px;
    }
    .maintenance-calendar-day.has-backup::after {
        top: 10px;
        right: 10px;
    }
    .maintenance-selected-date-summary {
        align-items: flex-start;
    }
    .maintenance-backup-item {
        grid-template-columns: 1fr;
    }
    .maintenance-backup-time {
        padding: 0 0 12px;
        border-right: 0;
        border-bottom: 1px solid #e0e4e7;
    }
}

@media (max-width: 540px) {
    .maintenance-backup-card .maintenance-info-banner,
    .maintenance-cleanup-section > .maintenance-warning-banner,
    .maintenance-calendar-shell,
    .maintenance-selected-date-summary,
    .maintenance-backup-list,
    .maintenance-cleanup-grid {
        margin-left: 16px;
        margin-right: 16px;
    }
    .maintenance-status-grid article {
        min-height: 0;
    }
    .maintenance-calendar-toolbar {
        grid-template-columns: 42px minmax(0, 1fr) auto;
    }
    .maintenance-calendar-actions .admin-filter-reset {
        display: none;
    }
    .maintenance-selected-date-summary {
        display: grid;
        gap: 10px;
    }
    .maintenance-selected-date-summary > span {
        width: max-content;
    }
    .maintenance-protected-form {
        grid-template-columns: 1fr;
    }
}


/* v2.17.06 — administrator-managed country currency transfer limitations */
.bbg-bank-limit-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) repeat(4, minmax(130px, .75fr)) auto;
    gap: 12px;
    align-items: end;
    margin: 18px 18px 0;
    padding: 16px;
    border: 1px solid #d8d1c5;
    border-radius: 14px;
    background: #fff;
}
.bbg-bank-limit-copy { display: grid; gap: 3px; align-self: center; }
.bbg-bank-limit-copy > span { color: #9a743e; font-size: 11px; font-weight: 900; letter-spacing: .08em; }
.bbg-bank-limit-copy > strong { font: 800 18px Manrope, sans-serif; }
.bbg-bank-limit-copy > small { color: #5f686c; font-size: 12px; }
.bbg-bank-limit-form label { display: grid; gap: 6px; }
.bbg-bank-limit-form label > span { color: #000; font-size: 12px; font-weight: 800; }
.bbg-bank-limit-form input[type="number"] { width: 100%; height: 42px; padding: 0 11px; border: 1px solid #d9d4ca; border-radius: 9px; background: #fff; }
.bbg-bank-limit-warning { grid-column: 2 / -1; margin: 0; color: #9b2c2c; font-weight: 700; }
@media (max-width: 1180px) {
    .bbg-bank-limit-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bbg-bank-limit-copy { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
    .bbg-bank-limit-form { grid-template-columns: 1fr; margin: 14px 14px 0; }
    .bbg-bank-limit-copy, .bbg-bank-limit-warning { grid-column: auto; }
}

/* v2.17.07 — within-two-hours toggle and persistent admin work alerts */
.pair-feature-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 9px;
    font-size: 12px;
    color: #40515a;
    cursor: pointer;
}
.pair-feature-toggle input {
    width: 17px;
    height: 17px;
    margin: 0;
    accent-color: #0f766e;
}
.pair-feature-toggle b { font-weight: 700; }
.pair-feature-toggle-table { margin-top: 8px; }

.admin-pending-alert-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: grid;
    place-items: center;
    padding: 22px;
    background: rgba(8, 18, 25, .68);
    backdrop-filter: blur(5px);
}
.admin-pending-alert-card {
    width: min(720px, 100%);
    max-height: min(760px, calc(100vh - 44px));
    overflow: auto;
    border: 1px solid rgba(255,255,255,.75);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 28px 90px rgba(0,0,0,.3);
}
.admin-pending-alert-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 24px 20px;
    color: #fff;
    background: linear-gradient(135deg, #9f1239, #c2410c);
}
.admin-pending-alert-head span {
    display: block;
    margin-bottom: 7px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
}
.admin-pending-alert-head h2 {
    margin: 0;
    font-size: clamp(22px, 4vw, 31px);
    line-height: 1.15;
}
.admin-pending-alert-head p {
    margin: 9px 0 0;
    max-width: 570px;
    color: rgba(255,255,255,.88);
    line-height: 1.5;
}
.admin-pending-alert-close {
    flex: 0 0 auto;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 50%;
    color: #fff;
    background: rgba(255,255,255,.12);
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}
.admin-pending-alert-body {
    display: grid;
    gap: 15px;
    padding: 20px 24px;
    background: #f8fafc;
}
.admin-pending-alert-section {
    overflow: hidden;
    border: 1px solid #dce4e8;
    border-radius: 16px;
    background: #fff;
}
.admin-pending-alert-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 1px solid #e8eef1;
}
.admin-pending-alert-section-head h3 { margin: 0; font-size: 16px; }
.admin-pending-alert-section-head span {
    min-width: 30px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #fff;
    background: #b91c1c;
    text-align: center;
    font-size: 12px;
    font-weight: 800;
}
.admin-pending-alert-list { display: grid; }
.admin-pending-alert-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 13px 16px;
    border-bottom: 1px solid #edf2f4;
    color: #17252d;
    text-decoration: none;
}
.admin-pending-alert-item:hover { background: #fff7ed; }
.admin-pending-alert-item span { min-width: 0; }
.admin-pending-alert-item strong,
.admin-pending-alert-item small { display: block; }
.admin-pending-alert-item strong { margin-bottom: 4px; }
.admin-pending-alert-item small {
    overflow-wrap: anywhere;
    color: #64727a;
    line-height: 1.4;
}
.admin-pending-alert-item b {
    flex: 0 0 auto;
    color: #9a3412;
    font-size: 13px;
}
.admin-pending-alert-more {
    display: block;
    padding: 11px 16px;
    color: #9a3412;
    text-align: right;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}
.admin-pending-alert-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 16px 24px 20px;
}
.admin-pending-alert-footer button {
    min-height: 42px;
    padding: 10px 15px;
    border-radius: 10px;
    font-weight: 800;
    cursor: pointer;
}
.admin-pending-alert-refresh {
    border: 1px solid #cbd5da;
    color: #33434b;
    background: #fff;
}
.admin-pending-alert-remind {
    border: 1px solid #9a3412;
    color: #fff;
    background: #9a3412;
}
@media (max-width: 620px) {
    .admin-pending-alert-overlay { padding: 10px; }
    .admin-pending-alert-card { max-height: calc(100vh - 20px); border-radius: 16px; }
    .admin-pending-alert-head, .admin-pending-alert-body, .admin-pending-alert-footer { padding-left: 16px; padding-right: 16px; }
    .admin-pending-alert-item { align-items: flex-start; flex-direction: column; gap: 7px; }
    .admin-pending-alert-footer { flex-direction: column-reverse; }
    .admin-pending-alert-footer button { width: 100%; }
}

/* v2.17.08 — Fiat → Crypto daily quota controls */
.crypto-rate-add-with-quota { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.crypto-rate-add .crypto-quota-field small {
    color: #727d82;
    font-size: 10px;
    line-height: 1.35;
}
.crypto-rate-table-wrap table { min-width: 1380px; }
.crypto-rate-table-wrap td:nth-child(5),
.crypto-rate-table-wrap td:nth-child(6) { min-width: 150px; }
.crypto-daily-quota-card {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 17px 0;
    padding: 14px;
    border: 1px solid #d8e3e6;
    border-radius: 14px;
    background: #f6fafb;
}
.crypto-daily-quota-card > div {
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #e1e8ea;
    border-radius: 10px;
    background: #fff;
}
.crypto-daily-quota-card span,
.crypto-daily-quota-card strong { display: block; }
.crypto-daily-quota-card span {
    color: #68767d;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}
.crypto-daily-quota-card strong {
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: #17323d;
    font-size: 14px;
}
.crypto-daily-quota-card > small {
    grid-column: 1 / -1;
    color: #657279;
    font-size: 11px;
    line-height: 1.45;
}
.crypto-daily-quota-card.is-unlimited { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 920px) {
    .crypto-rate-add-with-quota { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .crypto-daily-quota-card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .crypto-rate-add-with-quota,
    .crypto-daily-quota-card,
    .crypto-daily-quota-card.is-unlimited { grid-template-columns: 1fr; }
}

/* v2.17.11 — configurable Admin Positions and permission matrix */
.admin-position-create-card,
.admin-position-directory-card { margin-top: 16px; }
.admin-position-form { display: grid; gap: 18px; padding: 20px; }
.admin-position-basics { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(190px,.6fr); gap: 14px; }
.admin-position-basics label { display: grid; gap: 7px; min-width: 0; }
.admin-position-basics label > span { color: #111; font-size: 12px; font-weight: 800; }
.admin-position-basics label > small { color: #5e6b71; font-size: 11px; line-height: 1.45; }
.admin-position-basics input { width: 100%; min-height: 45px; border: 1px solid #d8d2c7; border-radius: 10px; padding: 0 12px; background: #fff; font: 600 13px "DM Sans",sans-serif; }
.admin-permission-fieldset { min-width: 0; margin: 0; padding: 16px; border: 1px solid #ddd6ca; border-radius: 15px; background: #faf8f3; }
.admin-permission-fieldset legend { padding: 0 7px; color: #18333e; font: 800 13px Manrope,sans-serif; }
.admin-permission-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
.admin-permission-option { display: flex; align-items: flex-start; gap: 10px; min-width: 0; padding: 12px; border: 1px solid #e3ddd2; border-radius: 11px; background: #fff; cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.admin-permission-option:hover { border-color: #c99b4c; box-shadow: 0 6px 18px rgba(25,44,51,.06); transform: translateY(-1px); }
.admin-permission-option input { flex: 0 0 auto; width: 17px; height: 17px; margin: 2px 0 0; accent-color: #c28a31; }
.admin-permission-option span { min-width: 0; }
.admin-permission-option strong { display: block; color: #152d37; font-size: 12px; line-height: 1.35; }
.admin-permission-option small { display: block; margin-top: 4px; color: #68757b; font-size: 10px; line-height: 1.45; }
.admin-position-form-actions { display: flex; justify-content: flex-end; }
.admin-position-list { display: grid; gap: 16px; padding: 20px; background: #f7f4ed; }
.admin-position-card { overflow: hidden; border: 1px solid #ded7ca; border-radius: 17px; background: #fff; box-shadow: 0 10px 30px rgba(24,40,47,.055); }
.admin-position-card.is-inactive { opacity: .78; }
.admin-position-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 18px 20px; border-bottom: 1px solid #eee7da; background: linear-gradient(145deg,#fff,#fbf8f2); }
.admin-position-card-head > div { min-width: 0; }
.admin-position-card-head h3 { margin: 9px 0 0; color: #17323d; font: 800 19px Manrope,sans-serif; }
.admin-position-card-head p { margin: 5px 0 0; color: #59676d; font-size: 11px; }
.admin-position-card-head > span { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.admin-position-card-head > span.is-active { color: #26703a; background: #eaf6ed; }
.admin-position-card-head > span.is-inactive { color: #a53e2e; background: #fbe9e6; }
.admin-position-edit-form { padding-top: 17px; }
.admin-permission-grid-compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.admin-position-edit-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.admin-position-edit-actions .admin-account-active-toggle { max-width: 510px; }
.admin-position-permission-summary { display: flex; flex-wrap: wrap; gap: 7px; padding: 17px 20px 8px; }
.admin-position-permission-summary span { padding: 6px 9px; border: 1px solid #dce5e6; border-radius: 999px; color: #294a54; background: #f1f6f6; font-size: 10px; font-weight: 800; }
.admin-position-card .admin-account-locked-note { margin-top: 10px; }
@media (max-width: 1100px) {
    .admin-permission-grid,
    .admin-permission-grid-compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .admin-position-form,
    .admin-position-list { padding: 15px; }
    .admin-position-basics,
    .admin-permission-grid,
    .admin-permission-grid-compact { grid-template-columns: 1fr; }
    .admin-position-edit-actions { align-items: stretch; flex-direction: column; }
    .admin-position-edit-actions .save-button { width: 100%; }
    .admin-position-card-head { flex-direction: column; }
}

/* v2.17.12 — action-level permissions and country supplier portal */
.permission-matrix-help { margin: 0 0 12px; color: #68757b; font-size: 11px; line-height: 1.5; }
.admin-permission-action-table { display: grid; overflow: hidden; border: 1px solid #dfd8cc; border-radius: 13px; background: #fff; }
.admin-permission-action-head,
.admin-permission-action-row { display: grid; grid-template-columns: minmax(250px,1fr) repeat(4,minmax(72px,96px)); align-items: stretch; }
.admin-permission-action-head { color: #fff; background: #17323d; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.admin-permission-action-head span { padding: 10px; text-align: center; }
.admin-permission-action-head span:first-child { text-align: left; }
.admin-permission-action-row + .admin-permission-action-row { border-top: 1px solid #ece6db; }
.admin-permission-action-row > div { min-width: 0; padding: 11px 12px; }
.admin-permission-action-row > div strong { display: block; color: #17323d; font-size: 12px; }
.admin-permission-action-row > div small { display: block; margin-top: 3px; color: #6b777c; font-size: 10px; line-height: 1.4; }
.permission-action-check,
.permission-state { display: flex; min-height: 52px; align-items: center; justify-content: center; border-left: 1px solid #ece6db; }
.permission-action-check { gap: 6px; cursor: pointer; font-size: 10px; font-weight: 800; color: #34505a; }
.permission-action-check input { width: 17px; height: 17px; accent-color: #c28a31; }
.permission-state { font-size: 15px; font-weight: 900; }
.permission-state.is-granted { color: #23733b; background: #f0f8f2; }
.permission-state.is-denied { color: #a8b0b3; }
.supplier-account-create-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; padding: 20px; align-items: end; }
.supplier-account-create-grid label { display: grid; gap: 7px; }
.supplier-account-create-grid label > span { color: #1d343e; font-size: 11px; font-weight: 800; }
.supplier-account-create-grid input,
.supplier-account-create-grid select { width: 100%; min-height: 45px; border: 1px solid #d8d2c7; border-radius: 10px; padding: 0 12px; background: #fff; }
.supplier-account-create-grid .simple-check { align-self: center; display: flex; }
.supplier-account-list { display: grid; gap: 14px; padding: 20px; background: #f7f4ed; }
.supplier-page { min-height: 100vh; background: #f4f1ea; }
.supplier-main { width: min(1500px,calc(100% - 32px)); margin: 0 auto; padding: 105px 0 36px; }
.supplier-filter-card { margin-bottom: 16px; }
.supplier-order-filters { display: grid; grid-template-columns: minmax(220px,2fr) repeat(3,minmax(145px,1fr)) auto; gap: 12px; padding: 18px; align-items: end; }
.supplier-order-filters label { display: grid; gap: 6px; }
.supplier-order-filters label > span { font-size: 10px; font-weight: 800; color: #314d57; text-transform: uppercase; }
.supplier-order-filters input,
.supplier-order-filters select { width: 100%; min-height: 43px; border: 1px solid #d9d2c6; border-radius: 10px; padding: 0 11px; background: #fff; }
.supplier-orders-table td { vertical-align: top; }
.supplier-orders-table td small { display: block; margin-top: 5px; color: #647279; }
.supplier-sensitive-value { display: inline-block; max-width: 100%; overflow-wrap: anywhere; word-break: break-word; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
.supplier-orders-table .record-toggle-button { display: inline-flex; margin: 0 5px 5px 0; text-decoration: none; }
.pagination { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px; }
.pagination a,
.pagination strong { padding: 8px 12px; border: 1px solid #d9d2c6; border-radius: 9px; background: #fff; color: #284851; text-decoration: none; font-size: 11px; }
@media (max-width: 1050px) {
    .admin-permission-action-head,
    .admin-permission-action-row { grid-template-columns: minmax(210px,1fr) repeat(4,minmax(62px,78px)); }
    .supplier-account-create-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .supplier-order-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .admin-permission-action-table { overflow-x: auto; }
    .admin-permission-action-head,
    .admin-permission-action-row { min-width: 620px; }
    .supplier-account-create-grid,
    .supplier-order-filters { grid-template-columns: 1fr; }
    .supplier-main { width: min(100% - 20px,1500px); padding-top: 92px; }
}

/* v2.17.13 — supplier country management console */
.supplier-portal-nav {
    position: fixed;
    z-index: 85;
    top: 72px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    border-bottom: 1px solid #d8d2c7;
    background: rgba(247,244,237,.97);
    box-shadow: 0 8px 20px rgba(20,40,48,.06);
    backdrop-filter: blur(10px);
}
.supplier-portal-nav a {
    padding: 9px 14px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #36515b;
    text-decoration: none;
    font-size: 11px;
    font-weight: 800;
}
.supplier-portal-nav a:hover { border-color: #d7c7a8; background: #fff; }
.supplier-portal-nav a.is-active { color: #fff; background: #17323d; box-shadow: 0 6px 16px rgba(23,50,61,.18); }
.supplier-page .supplier-main { padding-top: 148px; }
.supplier-managed-orders { min-width: 1320px; }
.supplier-managed-orders td:nth-child(4) { min-width: 330px; }
.supplier-document-links { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 10px; }
.supplier-status-form,
.supplier-completion-form { display: grid; gap: 8px; margin-bottom: 10px; padding: 10px; border: 1px solid #e3ddd2; border-radius: 12px; background: #faf8f3; }
.supplier-status-form select,
.supplier-status-form textarea,
.supplier-completion-form textarea,
.supplier-completion-form input[type="file"] { width: 100%; border: 1px solid #d8d2c7; border-radius: 8px; padding: 8px 10px; background: #fff; font: 600 11px "DM Sans",sans-serif; }
.supplier-status-form label,
.supplier-completion-form label { display: grid; gap: 5px; }
.supplier-status-form label > span,
.supplier-completion-form label > span { color: #405860; font-size: 10px; font-weight: 800; }
.supplier-inline-action { display: flex; justify-content: flex-end; }
.supplier-fixed-country-form { grid-template-columns: repeat(5,minmax(0,1fr)) auto; }
.supplier-bbg-limit-form { grid-template-columns: repeat(4,minmax(0,1fr)) auto; }
.supplier-bbg-grid { padding: 0; }
.supplier-pair-create { grid-template-columns: repeat(5,minmax(0,1fr)) auto auto; }
.supplier-pair-create .pair-feature-toggle { margin-top: 7px; }
@media (max-width: 1100px) {
    .supplier-fixed-country-form,
    .supplier-bbg-limit-form,
    .supplier-pair-create { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
    .supplier-portal-nav { top: 66px; justify-content: flex-start; overflow-x: auto; white-space: nowrap; }
    .supplier-page .supplier-main { padding-top: 150px; }
    .supplier-fixed-country-form,
    .supplier-bbg-limit-form,
    .supplier-pair-create { grid-template-columns: 1fr; }
}


/* v2.17.19 — dashboard pending-work list, header bell badge, and international phone input */
.admin-topbar { grid-template-columns: auto auto minmax(0,1fr) auto auto; }
.admin-alert-bell {
    position: relative;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    margin-left: auto;
    border: 1px solid #d8d2c7;
    border-radius: 12px;
    color: #344750;
    background: #fff;
    box-shadow: 0 7px 18px rgba(18,30,38,.05);
    text-decoration: none;
}
.admin-alert-bell:hover { border-color: #c9a66d; background: #fffaf0; }
.admin-alert-bell svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
.admin-alert-bubble {
    position: absolute;
    top: -7px;
    right: -7px;
    display: grid;
    place-items: center;
    min-width: 21px;
    height: 21px;
    padding: 0 5px;
    border: 2px solid #f7f4ee;
    border-radius: 999px;
    color: #fff;
    background: #c62828;
    font: 800 10px/1 Manrope, sans-serif;
    box-shadow: 0 4px 10px rgba(198,40,40,.25);
}
.admin-alert-bubble[hidden] { display: none !important; }
.admin-overview-panel .stats-grid { margin-bottom: 22px; }
.admin-pending-work-card { overflow: hidden; }
.admin-pending-work-head { align-items: center; }
.admin-pending-work-total {
    flex: 0 0 auto;
    min-width: 92px;
    padding: 12px 15px;
    border: 1px solid #efd7b7;
    border-radius: 14px;
    background: #fff8ed;
    text-align: center;
}
.admin-pending-work-total span,
.admin-pending-work-total strong { display: block; }
.admin-pending-work-total span { color: #8a6540; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-pending-work-total strong { margin-top: 4px; color: #a94712; font: 800 27px Manrope, sans-serif; }
.admin-pending-work-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; padding: 0 22px 22px; }
.admin-pending-work-section { overflow: hidden; border: 1px solid #dfe6e9; border-radius: 16px; background: #fff; }
.admin-pending-work-section-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 15px 16px; border-bottom: 1px solid #edf1f3; background: #fbfcfc; }
.admin-pending-work-section-head > div { display: flex; align-items: center; gap: 11px; min-width: 0; }
.admin-pending-work-section-head strong,
.admin-pending-work-section-head small { display: block; }
.admin-pending-work-section-head strong { color: #253941; font-size: 14px; }
.admin-pending-work-section-head small { margin-top: 2px; color: #7b888e; font-size: 11px; }
.admin-pending-work-icon { display: grid; flex: 0 0 auto; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: #fff; background: #6f5a37; font: 800 13px Manrope, sans-serif; }
.admin-pending-work-count { display: grid; flex: 0 0 auto; place-items: center; min-width: 31px; height: 31px; padding: 0 8px; border-radius: 999px; color: #fff; background: #b42318; font-size: 12px; font-weight: 900; }
.admin-pending-work-list { display: grid; max-height: 450px; overflow: auto; }
.admin-pending-work-item { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border-bottom: 1px solid #edf1f3; color: #1f343c; text-decoration: none; }
.admin-pending-work-item:last-child { border-bottom: 0; }
.admin-pending-work-item:hover { background: #fff9ef; }
.admin-pending-work-item > span { min-width: 0; }
.admin-pending-work-item strong,
.admin-pending-work-item small { display: block; }
.admin-pending-work-item strong { font-size: 13px; }
.admin-pending-work-item small { margin-top: 4px; overflow-wrap: anywhere; color: #6d7c82; font-size: 11px; line-height: 1.45; }
.admin-pending-work-item b { flex: 0 0 auto; color: #a34616; font-size: 12px; }
.admin-pending-work-empty { display: flex; align-items: center; gap: 11px; padding: 19px 16px; color: #58726a; }
.admin-pending-work-empty > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #e8f4ee; font-weight: 900; }
.admin-pending-work-empty strong,
.admin-pending-work-empty small { display: block; }
.admin-pending-work-empty small { margin-top: 2px; color: #819089; font-size: 11px; }
.admin-pending-work-card.is-clear .admin-pending-work-total { border-color: #cfe4da; background: #f2faf6; }
.admin-pending-work-card.is-clear .admin-pending-work-total strong { color: #317057; }
.customer-phone-input { display: grid; grid-template-columns: minmax(150px, .8fr) minmax(150px, 1.2fr); gap: 8px; }
.customer-phone-input select,
.customer-phone-input input { width: 100%; }
.customer-phone-field .field-help { display: block; margin-top: 6px; color: #7a878c; font-size: 10px; line-height: 1.4; }
@media (max-width: 820px) {
    .admin-topbar { grid-template-columns: auto auto minmax(0,1fr) auto; }
    .admin-alert-bell { width: 40px; height: 40px; }
    .admin-pending-work-columns { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .admin-alert-bell { width: 38px; height: 38px; border-radius: 10px; }
    .admin-pending-work-head { align-items: flex-start; flex-direction: column; }
    .admin-pending-work-total { width: 100%; }
    .admin-pending-work-columns { padding: 0 14px 14px; }
    .admin-pending-work-item { align-items: flex-start; flex-direction: column; gap: 7px; }
    .customer-phone-input { grid-template-columns: 1fr; }
}

/* BBG Exchange Master v2.17.20 — Sell Your Crypto */
.converter-mode-switch { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.converter-mode-button[data-converter-mode="SELL_CRYPTO"] { background: #3659b8; border-color: #29489c; }
.converter-mode-button[data-converter-mode="SELL_CRYPTO"]:hover { background: #2d4da5; }
.converter-mode-button[data-converter-mode="SELL_CRYPTO"].is-active { box-shadow: 0 0 0 3px rgba(54,89,184,.30), 0 10px 22px rgba(41,72,156,.32), inset 0 0 0 1px rgba(255,255,255,.50); }
.crypto-send-card { border: 1px solid #cbd5f0; border-radius: 18px; background: linear-gradient(180deg,#f6f8ff 0%,#fff 100%); padding: 22px; margin-top: 20px; }
.crypto-send-address { display:grid; gap:8px; padding:16px; border:1px solid #d9dff1; border-radius:14px; background:#fff; }
.crypto-send-address code { display:block; overflow-wrap:anywhere; font-size:15px; font-weight:700; color:#20356f; }
.crypto-send-copy-row { display:flex; gap:10px; align-items:center; justify-content:space-between; flex-wrap:wrap; }
.crypto-network-warning { margin-top:12px; color:#8a4d16; font-size:12px; font-weight:700; }
.crypto-tx-field { display:grid; gap:7px; margin-top:18px; }
.crypto-tx-field input { width:100%; min-height:46px; border:1px solid #d4d9e7; border-radius:10px; padding:10px 12px; }
.receiving-crypto-row { grid-template-columns: minmax(160px,.8fr) minmax(130px,.6fr) minmax(280px,2fr) minmax(100px,.5fr) auto; }
.currency-bank-check, .currency-signature-check { align-self:center; }
@media (max-width: 1050px) { .receiving-crypto-row { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .converter-mode-switch, .receiving-crypto-row { grid-template-columns: 1fr; } }

/* v2.17.21 — customer directory, add-customer modal and customer detail workspace */
/* v2.17.22 — customer account visual refinements */
.customer-directory-head { align-items: center; gap: 20px; }
.customer-directory-head-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; flex-wrap: wrap; }
.customer-directory-head-actions .admin-list-filter { margin: 0; }
.customer-add-button { min-width: 170px; white-space: nowrap; }
.customer-directory-table-wrap { border-top: 1px solid #ece7dd; }
.customer-directory-table { min-width: 1180px; }
.customer-directory-table th { background: #faf8f3; }
.customer-directory-table td { vertical-align: middle; }
.customer-list-identity { display: grid; grid-template-columns: 42px minmax(0,1fr); gap: 11px; align-items: center; min-width: 190px; }
.customer-list-identity .customer-avatar { width: 42px; height: 42px; }
.customer-list-identity b.inline-svip-badge { display: inline-flex; vertical-align: middle; }
.customer-list-status { display: inline-flex; align-items: center; min-height: 27px; padding: 5px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; }
.customer-list-status.is-active { background: #e6f4ea; color: #226743; }
.customer-list-status.is-inactive { background: #f6e7e4; color: #9a463c; }
.customer-list-blocked { display: block !important; margin-top: 6px !important; color: #a2362d !important; font-weight: 800; }
.customer-view-details { display: inline-flex; align-items: center; justify-content: center; min-width: 105px; text-decoration: none; white-space: nowrap; }
#customers > .admin-pagination { padding: 14px 18px; border-top: 1px solid #ece7dd; }

body.has-customer-create-modal { overflow: hidden; }
.customer-create-modal[hidden] { display: none !important; }
.customer-create-modal { position: fixed; inset: 0; z-index: 1300; display: grid; place-items: center; padding: 24px; }
.customer-create-backdrop { position: absolute; inset: 0; background: rgba(10,25,31,.58); backdrop-filter: blur(3px); }
.customer-create-dialog { position: relative; z-index: 1; width: min(780px,100%); max-height: min(88vh,860px); overflow: auto; border: 1px solid rgba(255,255,255,.34); border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(13,30,38,.28); }
.customer-create-dialog-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 24px 26px 20px; border-bottom: 1px solid #ece7dd; background: linear-gradient(145deg,#fff,#faf6ed); }
.customer-create-dialog-head h2 { margin: 5px 0 5px; font: 800 24px Manrope,sans-serif; color: #17313c; }
.customer-create-dialog-head p { margin: 0; max-width: 610px; color: #657178; font-size: 12px; line-height: 1.55; }
.customer-create-close { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f0ece4; color: #39464c; font-size: 24px; line-height: 1; cursor: pointer; }
.customer-create-modal-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 24px 26px 26px; }
.customer-create-modal-form label { display: grid; gap: 7px; min-width: 0; }
.customer-create-modal-form label > span { color: #35444b; font-size: 11px; font-weight: 800; }
.customer-create-modal-form input,
.customer-create-modal-form select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #d8d2c8; border-radius: 10px; padding: 0 11px; background: #fff; color: #1e3038; outline: 0; }
.customer-create-modal-form input:focus,
.customer-create-modal-form select:focus { border-color: #b8873a; box-shadow: 0 0 0 3px rgba(184,135,58,.11); }
.customer-create-wide { grid-column: 1 / -1; }
.customer-create-options { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; align-self: end; min-height: 44px; }
.customer-create-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 10px; padding-top: 7px; }

.customer-details-header { align-items: center; }
.customer-details-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.customer-details-header-actions a { text-decoration: none; }
.customer-details-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.customer-details-stats article { padding: 18px; border: 1px solid #e3ddd2; border-radius: 15px; background: linear-gradient(145deg,#fff,#faf7f1); box-shadow: 0 8px 26px rgba(23,42,50,.045); }
.customer-details-stats span { display: block; color: #69757a; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.customer-details-stats strong { display: block; margin-top: 6px; color: #17323c; font: 800 20px Manrope,sans-serif; }
.customer-details-stats small { display: block; margin-top: 5px; color: #5f6a70; font-size: 11px; }
.customer-details-grid { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(0,.92fr); gap: 18px; align-items: start; }
.customer-profile-card,
.customer-management-card,
.customer-kyc-detail-card,
.customer-order-history-card { overflow: hidden; }
.customer-profile-data-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #fff; border: 1px solid lavenderblush; }
.customer-profile-data-grid > div { min-width: 0; padding: 15px 17px; background: #fff; }
.customer-profile-data-grid span,
.customer-kyc-detail-grid span { display: block; color: #748086; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .045em; }
.customer-profile-data-grid strong,
.customer-kyc-detail-grid strong { display: block; margin-top: 5px; color: #182f39; font-size: 13px; overflow-wrap: anywhere; }
.customer-profile-data-grid small { display: block; margin-top: 5px; color: #777f83; font-size: 10px; line-height: 1.45; }
.customer-sensitive-value { font-family: ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing: .03em; }
.customer-details-edit-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; padding: 18px; }
.customer-details-edit-form label { display: grid; gap: 6px; min-width: 0; }
.customer-details-edit-form label > span { color: #34454c; font-size: 11px; font-weight: 800; }
.customer-details-edit-form input,
.customer-details-edit-form select { width: 100%; min-width: 0; min-height: 42px; border: 1px solid #d9d3c9; border-radius: 10px; padding: 0 11px; background: #fff; }
.customer-details-edit-wide,
.customer-details-edit-actions { grid-column: 1 / -1; }
.customer-details-edit-actions { display: flex; justify-content: flex-end; }
.customer-management-actions { display: flex; gap: 8px; flex-wrap: wrap; padding: 0 18px 18px; }
.customer-management-actions form { margin: 0; }
.customer-management-actions .account-state-button { min-width: 120px; padding: 0 13px; min-height: 36px; border: 1px solid #95483c; }
.account-state-button.svip { color: #78571b; background: #fff0c9; }
.customer-details-credit-form { display: grid; grid-template-columns: minmax(0,1fr) minmax(140px,.55fr) auto; gap: 10px; align-items: center; margin: 0 18px 18px; padding: 14px; border: 1px solid #e0d9cd; border-radius: 12px; background: #faf8f3; }
.customer-details-credit-form span { display: block; color: #283d46; font-size: 15px; font-weight: 800; }
.customer-details-credit-form small { display: block; margin-top: 3px; color: #747e82; font-size: 13px; }
.customer-details-credit-form input { width: 100%; min-height: 40px; border: 1px solid #d8d2c8; border-radius: 9px; padding: 0 10px; }
.customer-kyc-detail-card { margin-top: 18px; }
.customer-kyc-detail-card .admin-card-head .save-button { text-decoration: none; }
.customer-kyc-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: #ebe5da; }
.customer-kyc-detail-grid > div { padding: 15px 17px; background: #fff; }
.customer-order-history-card { margin-top: 18px; }
.customer-order-total { align-self: center; padding: 7px 10px; border-radius: 999px; background: #f1ece2; color: #654d28; font-size: 11px; font-weight: 800; }
.customer-order-history-wrap { border-top: 1px solid #ece7dd; }
.customer-order-history-table { min-width: 1500px; }
.customer-order-history-table td { vertical-align: top; }
.customer-order-history-table td strong,
.customer-order-history-table td small { display: block; }
.customer-order-history-table td small { margin-top: 5px; color: #66747a; font-size: 11px; line-height: 1.45; max-width: 270px; overflow-wrap: anywhere; }
.customer-order-history-table .order-status { display: inline-flex; font-size: 11px; white-space: nowrap; }
.customer-order-history-table .record-toggle-button { display: inline-flex; text-decoration: none; white-space: nowrap; }

@media (max-width: 1100px) {
    .customer-directory-head { align-items: flex-start; }
    .customer-directory-head-actions { width: 100%; justify-content: flex-start; }
    .customer-details-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .customer-details-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .customer-directory-head-actions,
    .customer-directory-head-actions .admin-list-filter { display: grid; width: 100%; grid-template-columns: 1fr; }
    .customer-add-button { width: 100%; }
    .customer-create-modal { padding: 10px; align-items: end; }
    .customer-create-dialog { max-height: 94vh; border-radius: 20px 20px 12px 12px; }
    .customer-create-dialog-head { padding: 20px 18px 16px; }
    .customer-create-modal-form { grid-template-columns: 1fr; padding: 18px; }
    .customer-create-wide,
    .customer-create-actions { grid-column: auto; }
    .customer-create-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .customer-details-header { align-items: flex-start; }
    .customer-details-header-actions { width: 100%; justify-content: flex-start; }
    .customer-details-stats,
    .customer-profile-data-grid,
    .customer-details-edit-form,
    .customer-kyc-detail-grid { grid-template-columns: 1fr; }
    .customer-details-edit-wide,
    .customer-details-edit-actions { grid-column: auto; }
    .customer-details-credit-form { grid-template-columns: 1fr; }
    .customer-management-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .customer-management-actions form,
    .customer-management-actions button { width: 100%; }
}

/* v2.17.24 — customer notice editor */
.customer-notice-form{display:grid;gap:18px}.customer-notice-language{display:grid;gap:8px}.customer-notice-language>span{font-weight:700}.customer-notice-language textarea{width:100%;min-height:120px;resize:vertical}.customer-notice-actions{display:flex;justify-content:flex-end}

/* v2.17.25 — customer notices, order status layout, converter balance and account instruction writer */
.inline-status-controls.inline-status-controls-stacked {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
}
.inline-status-controls.inline-status-controls-stacked select,
.inline-status-controls.inline-status-controls-stacked .save-button {
    width: 100%;
}

.converter-card-status {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
}
.converter-voucher-balance {
    text-decoration: none;
}

.customer-notice-card { overflow: hidden; }
.customer-notice-card-head { align-items: center; }
.customer-notice-language-count {
    display: grid;
    min-width: 92px;
    padding: 12px 15px;
    border: 1px solid #dce7e1;
    border-radius: 14px;
    background: #f4f8f6;
    text-align: center;
}
.customer-notice-language-count strong { color: #244e43; font: 800 22px/1 Manrope,sans-serif; }
.customer-notice-language-count span { margin-top: 5px; color: #718079; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.customer-notice-guidance {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 22px;
    padding: 14px 16px;
    border: 1px solid #dce7e1;
    border-radius: 14px;
    background: #f7faf8;
}
.customer-notice-guidance > span {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: #2b6955;
    color: #fff;
    font-weight: 800;
}
.customer-notice-guidance strong { display: block; color: #263a34; }
.customer-notice-guidance p { margin: 4px 0 0; color: #66756f; font-size: 13px; line-height: 1.55; }
.customer-notice-form { display: grid; gap: 22px; }
.customer-notice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.customer-notice-language {
    display: grid;
    gap: 9px;
    min-width: 0;
    padding: 16px;
    border: 1px solid #e0e7e3;
    border-radius: 16px;
    background: #fff;
}
.customer-notice-language-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.customer-notice-language-head strong { color: #263a34; font-size: 14px; }
.customer-notice-language-head small {
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf5f0;
    color: #2b6955;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
}
.customer-notice-language textarea,
.instruction-writer-form textarea {
    width: 100%;
    min-height: 150px;
    padding: 12px 14px;
    border: 1px solid #d9d4ca;
    border-radius: 12px;
    background: #fff;
    color: #26343a;
    font: 500 14px/1.55 "DM Sans",sans-serif;
    resize: vertical;
    outline: 0;
}
.customer-notice-language textarea:focus,
.instruction-writer-form textarea:focus { border-color: var(--gold); box-shadow: 0 0 0 4px rgba(201,166,107,.12); }
.customer-notice-field-help { color: #87928d; font-size: 11px; }
.customer-notice-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding-top: 18px;
    border-top: 1px solid #e6ebe8;
}
.customer-notice-actions > span { color: #73807b; font-size: 12px; }

.customer-list-actions { display: grid; gap: 7px; min-width: 132px; }
.customer-list-actions > * { width: 100%; justify-content: center; text-align: center; }
.instruction-writer-button { min-width: 142px; }
.copy-instruction-button.is-copied { border-color: #9fc9b6; background: #eaf6f0; color: #246247; }
.supplier-directory-head-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 10px; }
.supplier-copy-instruction-row { display: flex; justify-content: flex-end; margin: 12px 0 2px; }

.instruction-writer-modal {
    position: fixed;
    inset: 0;
    z-index: 1300;
    display: grid;
    place-items: center;
    padding: 24px;
}
.instruction-writer-modal[hidden] { display: none !important; }
.instruction-writer-backdrop { position: absolute; inset: 0; background: rgba(17,29,34,.58); backdrop-filter: blur(3px); }
.instruction-writer-dialog {
    position: relative;
    z-index: 1;
    width: min(780px,100%);
    max-height: calc(100vh - 48px);
    overflow: auto;
    border: 1px solid #dde5e1;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(19,35,40,.24);
}
.instruction-writer-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 24px 26px 18px;
    border-bottom: 1px solid #e8ecea;
}
.instruction-writer-head h2 { margin: 6px 0 5px; }
.instruction-writer-head p { margin: 0; color: #6c7873; font-size: 13px; line-height: 1.55; }
.instruction-writer-close {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid #d9e1dd;
    border-radius: 11px;
    background: #f7f9f8;
    color: #40524b;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.instruction-placeholder-tips { margin: 20px 26px 0; padding: 15px 16px; border: 1px solid #dbe8e2; border-radius: 15px; background: #f6faf8; }
.instruction-placeholder-tips > strong { display: block; margin-bottom: 10px; color: #2b5549; }
.instruction-placeholder-tips > div { display: grid; grid-template-columns: max-content 1fr max-content 1fr; gap: 7px 10px; align-items: center; }
.instruction-placeholder-tips code { padding: 4px 7px; border-radius: 7px; background: #e8f2ed; color: #275844; font-size: 12px; font-weight: 800; }
.instruction-placeholder-tips span { color: #5f6f68; font-size: 12px; }
.instruction-placeholder-tips > small { display: block; margin-top: 11px; color: #7b8782; line-height: 1.5; }
.instruction-writer-form { display: grid; gap: 18px; padding: 20px 26px 26px; }
.instruction-writer-form label { display: grid; gap: 8px; }
.instruction-writer-form label > span { color: #334840; font-weight: 800; }
.instruction-writer-form textarea { min-height: 260px; }
.instruction-writer-actions { display: flex; justify-content: flex-end; gap: 10px; }
body.instruction-writer-open { overflow: hidden; }

@media (max-width: 820px) {
    .customer-notice-grid { grid-template-columns: 1fr; }
    .converter-card-status { justify-content: flex-start; margin-top: 14px; }
    .converter-card-status .header-voucher-balance { width: auto; order: initial; }
    .supplier-directory-head-actions { width: 100%; justify-content: flex-start; }
}
@media (max-width: 620px) {
    .customer-notice-card-head { align-items: flex-start; }
    .customer-notice-language-count { min-width: 74px; }
    .customer-notice-actions { display: grid; grid-template-columns: 1fr; }
    .customer-notice-actions .primary-button { width: 100%; }
    .instruction-writer-modal { align-items: end; padding: 10px; }
    .instruction-writer-dialog { max-height: 94vh; border-radius: 20px 20px 12px 12px; }
    .instruction-writer-head { padding: 20px 18px 15px; }
    .instruction-placeholder-tips { margin: 16px 18px 0; }
    .instruction-placeholder-tips > div { grid-template-columns: max-content 1fr; }
    .instruction-writer-form { padding: 18px; }
    .instruction-writer-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .supplier-directory-head-actions { display: grid; grid-template-columns: 1fr; }
    .supplier-directory-head-actions .instruction-writer-button { width: 100%; }
    .supplier-copy-instruction-row .copy-instruction-button { width: 100%; }
    .converter-card-status { display: grid; grid-template-columns: 1fr; width: 100%; }
    .converter-card-status .header-voucher-balance,
    .converter-card-status .secure-pill { width: 100%; justify-content: center; }
}


/* v2.17.26 — admin password email fallback */
.admin-manual-password-link{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin-top:10px;align-items:end}.admin-manual-password-link small{grid-column:1/-1}.admin-manual-password-link input{min-width:0;width:100%;padding:10px 12px;border:1px solid rgba(23,39,46,.18);border-radius:8px;background:#fff}@media(max-width:720px){.admin-manual-password-link{grid-template-columns:1fr}.admin-manual-password-link small{grid-column:auto}.admin-manual-password-link .record-toggle-button{width:100%}}


/* v2.17.27 — checkout header live EM Network Fee balance */
.checkout-header .checkout-voucher-balance { margin-left: auto; margin-right: 14px; flex: 0 0 auto; }
@media (max-width: 620px) {
    .checkout-header .checkout-voucher-balance { width: 100%; margin: 0; order: 5; justify-content: center; }
}


/* v2.17.60 — mobile-scroll-safe EM Network Fee Out of Balance modal */
body.has-voucher-balance-modal { overflow: hidden; }
.voucher-balance-modal[hidden] { display: none !important; }
.voucher-balance-modal {
    position: fixed;
    inset: 0;
    z-index: 1500;
    display: grid;
    place-items: center;
    padding: 26px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: linear-gradient(180deg, rgba(247, 243, 236, 0.94), rgba(255, 255, 255, 0.96));
    backdrop-filter: blur(6px);
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.voucher-balance-modal::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at top left, rgba(243, 114, 54, 0.16), transparent 30%),
        radial-gradient(circle at top right, rgba(35, 102, 87, 0.12), transparent 32%),
        linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0));
}
.voucher-balance-dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(620px, 100%);
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    border: 1px solid #ece4d5;
    border-radius: 30px;
    background: linear-gradient(180deg, #fffdf9, #ffffff 42%, #fbfaf8 100%);
    box-shadow: 0 24px 72px rgba(73, 53, 28, 0.14);
}
.voucher-balance-dialog::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 6px;
    background: linear-gradient(90deg, #f3ab53, #f37236, #2b6955);
}
.voucher-balance-dialog-head {
    display: grid;
    flex: 0 0 auto;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: start;
    gap: 16px;
    padding: 28px 28px 20px;
    border-bottom: 1px solid #efe7da;
    background: linear-gradient(180deg, #fff7ef 0%, rgba(255,255,255,0.98) 100%);
}
.voucher-balance-dialog-head h2 {
    margin: 6px 0 8px;
    color: #17313c;
    font: 800 28px Manrope, sans-serif;
    letter-spacing: -0.02em;
}
.voucher-balance-dialog-head p {
    margin: 0;
    max-width: 420px;
    color: #66767d;
    font-size: 13px;
    line-height: 1.65;
}
.voucher-balance-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #b35b1d;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}
.voucher-balance-kicker::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: linear-gradient(135deg, #f7b267, #f37236);
    box-shadow: 0 0 0 6px rgba(243, 114, 54, 0.10);
}
.voucher-balance-icon {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border-radius: 22px;
    background: linear-gradient(180deg, #fff0df, #ffe3ca);
    color: #f37236;
    font: 900 34px/1 Manrope, sans-serif;
    box-shadow: inset 0 0 0 1px rgba(243, 114, 54, 0.12);
}
.voucher-balance-dialog-body {
    display: grid;
    min-height: 0;
    gap: 18px;
    padding: 24px 28px 28px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
}
.voucher-balance-message {
    margin: 0;
    padding: 16px 18px;
    border: 1px solid #ece5d8;
    border-radius: 18px;
    background: #fff;
    color: #42555d;
    font-size: 14px;
    line-height: 1.75;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.voucher-balance-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.voucher-balance-summary-card {
    display: grid;
    gap: 6px;
    padding: 18px 18px;
    border: 1px solid #ebe4d8;
    border-radius: 20px;
    background: linear-gradient(180deg, #ffffff, #fbf8f2);
}
.voucher-balance-summary-card span {
    color: #7c887f;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.voucher-balance-summary-card strong {
    color: #17313c;
    font: 800 25px/1.2 Manrope, sans-serif;
}
.voucher-balance-summary-card.is-required {
    background: linear-gradient(180deg, #fff6ed, #ffeddf);
    border-color: #f1d5bd;
}
.voucher-balance-summary-card.is-required strong { color: #d0601f; }
.voucher-balance-help {
    padding: 16px 17px;
    border: 1px solid #dce8e3;
    border-radius: 18px;
    background: linear-gradient(180deg, #f7fbf9, #f2f8f5);
    color: #4f645d;
    font-size: 13px;
    line-height: 1.65;
    overflow-wrap: anywhere;
}
.voucher-balance-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
    padding-top: 4px;
}
.voucher-balance-dialog-actions .secondary-button,
.voucher-balance-dialog-actions .primary-button,
.voucher-balance-dialog-actions .primary-link-button {
    min-height: 46px;
    border-radius: 14px;
}
.voucher-balance-close {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    border: 1px solid #e7ded1;
    border-radius: 14px;
    background: #fff;
    color: #56656b;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 10px 20px rgba(43, 50, 55, 0.05);
}
@media (max-width: 620px) {
    .voucher-balance-modal {
        place-items: end center;
        padding:
            max(8px, env(safe-area-inset-top))
            max(12px, env(safe-area-inset-right))
            max(8px, env(safe-area-inset-bottom))
            max(12px, env(safe-area-inset-left));
    }
    .voucher-balance-dialog { width: 100%; max-height: 100%; border-radius: 24px 24px 14px 14px; }
    .voucher-balance-dialog-head {
        grid-template-columns: 1fr auto;
        grid-template-areas:
            "content close"
            "icon icon";
        padding: 22px 18px 16px;
    }
    .voucher-balance-dialog-head > div:first-child { grid-area: content; }
    .voucher-balance-icon { grid-area: icon; width: 56px; height: 56px; border-radius: 18px; font-size: 28px; }
    .voucher-balance-close { grid-area: close; }
    .voucher-balance-dialog-head h2 { font-size: 24px; }
    .voucher-balance-dialog-body { padding: 18px; }
    .voucher-balance-summary { grid-template-columns: 1fr; }
    .voucher-balance-dialog-actions { display: grid; grid-template-columns: 1fr; }
    .voucher-balance-dialog-actions .secondary-button,
    .voucher-balance-dialog-actions .primary-button,
    .voucher-balance-dialog-actions .primary-link-button { width: 100%; text-align: center; }
}

/* v2.17.32 — customer password and KYC submission success screens */
.customer-password-reset-page.is-success .login-panel {
    background:
        radial-gradient(circle at 85% 15%, rgba(35, 114, 91, .10), transparent 30%),
        linear-gradient(180deg, #f8f5ee, #f2eee6);
}
.password-reset-success {
    display: grid;
    justify-items: center;
    gap: 18px;
}
.password-reset-success-mark {
    display: grid;
    place-items: center;
    width: 68px;
    height: 68px;
    border: 1px solid #b9dfcf;
    border-radius: 22px;
    background: linear-gradient(145deg, #e8f7f0, #d8f0e6);
    color: #1f7859;
    font: 800 30px/1 Manrope, sans-serif;
    box-shadow: 0 14px 30px rgba(35, 114, 91, .13);
}
.password-reset-success .alert {
    width: 100%;
    margin: 0;
    text-align: center;
    line-height: 1.55;
}
.password-reset-actions {
    display: grid;
    gap: 10px;
    width: 100%;
}
.password-signin-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 58px;
    padding: 0 13px 0 20px;
    border: 1px solid #0d2e2b;
    border-radius: 15px;
    background: linear-gradient(135deg, #173f3b, #0c2929);
    color: #fff;
    font-size: 15px;
    font-weight: 800;
    box-shadow: 0 16px 32px rgba(12, 41, 41, .22);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.password-signin-button span:last-child {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 11px;
    background: rgba(255, 255, 255, .12);
    font-size: 19px;
    transition: transform .18s ease;
}
.password-signin-button:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg, #1c4b46, #103433);
    box-shadow: 0 19px 38px rgba(12, 41, 41, .27);
}
.password-signin-button:hover span:last-child { transform: translateX(2px); }
.password-signin-button:focus-visible {
    outline: 3px solid rgba(35, 114, 91, .22);
    outline-offset: 3px;
}
.password-reset-actions .back-link {
    margin-top: 0;
    padding: 8px;
}

.kyc-submission-success-shell {
    width: min(790px, calc(100% - 32px));
    margin-top: 52px;
}
.kyc-submission-success-card {
    position: relative;
    overflow: hidden;
    padding: 48px;
    border: 1px solid rgba(29, 75, 67, .13);
    border-radius: 30px;
    background:
        radial-gradient(circle at 100% 0, rgba(35, 114, 91, .10), transparent 34%),
        radial-gradient(circle at 0 100%, rgba(240, 166, 55, .09), transparent 35%),
        #fff;
    box-shadow: 0 24px 65px rgba(24, 54, 50, .11);
    text-align: center;
}
.kyc-submission-success-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 6px;
    background: linear-gradient(90deg, #e8b253, #38a06f, #196c55);
}
.kyc-submission-success-mark {
    display: grid;
    place-items: center;
    width: 82px;
    height: 82px;
    margin: 0 auto 24px;
    border: 1px solid #b8e1cf;
    border-radius: 27px;
    background: linear-gradient(145deg, #e9f8f1, #d4efdf);
    color: #1e805b;
    box-shadow: 0 16px 36px rgba(30, 128, 91, .16);
}
.kyc-submission-success-mark svg {
    width: 45px;
    height: 45px;
    fill: none;
    stroke: currentColor;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.kyc-submission-success-card h1 {
    margin: 9px 0 12px;
    color: #173a37;
    font: 800 clamp(30px, 5vw, 43px)/1.15 Manrope, sans-serif;
    letter-spacing: -.04em;
}
.kyc-submission-success-lead {
    max-width: 610px;
    margin: 0 auto;
    color: #657673;
    font-size: 16px;
    line-height: 1.7;
}
.kyc-submission-wait-card {
    display: grid;
    grid-template-columns: 66px 1fr;
    gap: 18px;
    align-items: center;
    margin-top: 30px;
    padding: 22px;
    border: 1px solid #ecd7ab;
    border-radius: 20px;
    background: linear-gradient(135deg, #fff9ec, #fffdf8);
    text-align: left;
}
.kyc-submission-wait-icon {
    display: grid;
    place-items: center;
    width: 66px;
    height: 66px;
    border-radius: 20px;
    background: #ffedc7;
    color: #98681c;
}
.kyc-submission-wait-icon svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.kyc-submission-wait-card div > span {
    display: block;
    color: #8a7150;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.kyc-submission-wait-card strong {
    display: block;
    margin-top: 4px;
    color: #785216;
    font: 800 27px/1.2 Manrope, sans-serif;
}
.kyc-submission-wait-card p {
    margin: 5px 0 0;
    color: #74664f;
    font-size: 13px;
    line-height: 1.55;
}
.kyc-submission-receipt {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
}
.kyc-submission-receipt div {
    display: grid;
    gap: 6px;
    padding: 16px 18px;
    border: 1px solid #e2e8e5;
    border-radius: 16px;
    background: rgba(248, 251, 249, .92);
    text-align: left;
}
.kyc-submission-receipt span {
    color: #788581;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.kyc-submission-receipt strong {
    color: #234640;
    font-size: 13px;
}
.kyc-submission-success-note {
    margin: 20px auto 0;
    color: #77827f;
    font-size: 12px;
    line-height: 1.6;
}
.kyc-submission-success-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 24px;
}
.kyc-submission-home-button,
.kyc-submission-stay-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    border-radius: 14px;
    font-size: 14px;
    font-weight: 800;
}
.kyc-submission-home-button { box-shadow: 0 14px 28px rgba(12, 23, 32, .17); }
.kyc-submission-stay-button {
    border: 1px solid #cfdcd7;
    background: #f6faf8;
    color: #285b50;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.kyc-submission-stay-button:hover {
    transform: translateY(-2px);
    border-color: #87b3a4;
    background: #edf7f2;
}
.kyc-submission-stay-button:focus-visible {
    outline: 3px solid rgba(35, 114, 91, .18);
    outline-offset: 3px;
}
@media (max-width: 620px) {
    .kyc-submission-success-shell { margin-top: 18px; }
    .kyc-submission-success-card { padding: 34px 20px 24px; border-radius: 24px; }
    .kyc-submission-success-mark { width: 70px; height: 70px; margin-bottom: 20px; border-radius: 23px; }
    .kyc-submission-success-mark svg { width: 39px; height: 39px; }
    .kyc-submission-wait-card { grid-template-columns: 52px 1fr; gap: 13px; padding: 17px; }
    .kyc-submission-wait-icon { width: 52px; height: 52px; border-radius: 16px; }
    .kyc-submission-wait-icon svg { width: 31px; height: 31px; }
    .kyc-submission-wait-card strong { font-size: 24px; }
    .kyc-submission-receipt,
    .kyc-submission-success-actions { grid-template-columns: 1fr; }
}

/* v2.17.35 — iPhone, Galaxy and small-screen layout hardening */
html {
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
body {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
}
img, svg, video, canvas { max-width: 100%; }
.brand-logo {
    aspect-ratio: 720 / 303;
    flex: 0 0 auto;
    background: transparent;
}
.login-shell { min-height: 100svh; }

@media (max-width: 820px) {
    /* Keep a compact logo banner visible when the desktop login artwork hides. */
    .admin-login-page .login-shell { display: block; }
    .admin-login-page .login-visual {
        display: flex;
        min-height: 92px;
        padding: max(18px, env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 18px max(18px, env(safe-area-inset-left));
        align-items: center;
        justify-content: center;
    }
    .admin-login-page .login-visual::after,
    .admin-login-page .login-visual > div,
    .admin-login-page .login-footnote { display: none; }
    .admin-login-page .login-visual > .brand { width: 100%; justify-content: center; }
    .admin-login-page .login-visual .brand-logo-login { width: min(172px, 54vw); }
    .admin-login-page .login-panel {
        min-width: 0;
        min-height: calc(100svh - 92px);
        padding: 32px max(20px, env(safe-area-inset-right)) max(32px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));
    }
    .admin-login-page .mobile-brand { display: none; }
    .login-form, .login-form-stack { min-width: 0; }
}

@media (max-width: 620px) {
    .shell {
        width: auto;
        margin-left: max(12px, env(safe-area-inset-left));
        margin-right: max(12px, env(safe-area-inset-right));
    }
    .site-header {
        flex-direction: column;
        align-items: center;
        gap: 15px;
        padding-top: max(18px, env(safe-area-inset-top));
        padding-bottom: 18px;
    }
    .site-header > .brand {
        width: 100%;
        flex: 0 0 auto;
        justify-content: center;
    }
    .site-header .brand-logo-customer { width: min(156px, 48vw); }
    .site-header .header-actions {
        width: 100%;
        max-width: 430px;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 8px;
    }
    .site-header .header-quick-actions,
    .site-header .customer-nav { flex: 1 1 auto; justify-content: center; }
    .site-header .header-voucher-balance {
        flex: 1 0 100%;
        justify-content: center;
        margin: 0;
    }
    .site-header .bbg-language-switcher {
        order: 5;
        flex: 1 0 100%;
        align-self: center;
        justify-content: center;
    }
    .site-header .bbg-language-select { max-width: 160px; }

    /* Guest homepage: keep My Order, Language and Customer Login together.
       The language widget is injected inside .header-quick-actions, so flatten
       that wrapper and place all three controls directly on the same grid. */
    .site-header.is-guest .header-actions {
        display: grid !important;
        grid-template-areas: "order language login";
        grid-template-columns: minmax(0, .9fr) minmax(0, 1.05fr) minmax(0, 1.45fr);
        width: 100%;
        max-width: 430px;
        gap: 6px;
        overflow: visible;
    }
    .site-header.is-guest .header-quick-actions {
        display: contents !important;
    }
    .site-header.is-guest .customer-nav,
    .site-header.is-guest .bbg-language-switcher {
        display: flex;
        width: 100%;
        min-width: 0;
        margin: 0;
        align-self: stretch;
        justify-content: center;
        overflow: hidden;
        box-sizing: border-box;
    }
    .site-header.is-guest .header-order-button {
        grid-area: order !important;
    }
    .site-header.is-guest .bbg-language-switcher {
        grid-area: language !important;
        order: initial !important;
        flex: none !important;
        gap: 2px;
        padding-inline: 5px;
    }
    .site-header.is-guest .customer-nav {
        grid-area: login !important;
        flex: none !important;
    }
    .site-header.is-guest .header-meta { display: none !important; }
    .site-header.is-guest .bbg-language-icon { display: none; }
    .site-header.is-guest .header-order-button,
    .site-header.is-guest .customer-nav a {
        width: 100%;
        min-width: 0;
        min-height: 34px;
        padding-inline: 6px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
    }
    .site-header.is-guest .bbg-language-select {
        width: 100%;
        min-width: 0;
        max-width: none;
        padding: 0 12px 0 2px;
        font-size: 9px;
        box-sizing: border-box;
    }

    .customer-auth-shell,
    .checkout-shell,
    .checkout-shell-wide {
        width: auto;
        margin-left: max(12px, env(safe-area-inset-left));
        margin-right: max(12px, env(safe-area-inset-right));
    }
    .converter-card,
    .home-login-card,
    .customer-auth-card,
    .checkout-card,
    .account-card,
    .admin-card { min-width: 0; }
    .money-field { grid-template-columns: minmax(0, 1fr) minmax(96px, 34%); }
    .money-field select { min-width: 0; width: 100%; }

    /* Prevent Safari from zooming the page when a form control receives focus. */
    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea { font-size: 16px; }

    .checkout-header,
    .account-header { row-gap: 12px; }
    .checkout-header > a:first-child,
    .account-header > a:first-child { flex: 0 0 auto; }
    .checkout-header .brand-logo-customer,
    .account-header .brand-logo-customer { width: min(126px, 42vw); }

    .admin-topbar {
        padding-left: max(10px, env(safe-area-inset-left));
        padding-right: max(10px, env(safe-area-inset-right));
    }
    .admin-topbar > * { min-width: 0; }
}

@media (max-width: 430px) {
    .site-header:not(.is-guest) .header-actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .site-header .header-quick-actions,
    .site-header .customer-nav { display: grid; width: 100%; }
    .site-header .header-order-button,
    .site-header .customer-nav a { width: 100%; }
    .site-header:not(.is-guest) .header-voucher-balance,
    .site-header:not(.is-guest) .bbg-language-switcher { grid-column: 1 / -1; }
    .hero-grid { padding-top: 18px; }
    .converter-card { padding: 22px 14px; }
    .money-field { grid-template-columns: minmax(0, 1fr) 96px; }
    .money-field input { padding-inline: 12px; font-size: 18px; }
    .money-field select { padding-inline: 8px; }
    .login-form h2 { font-size: 29px; }
    .admin-login-page .login-panel { padding-top: 26px; }
}

@media (max-width: 390px) {
    .admin-topbar-context { display: none; }
    .admin-topbar {
        grid-template-columns: auto minmax(78px, 100px) minmax(0, 1fr);
        gap: 8px;
    }
    .admin-topbar .admin-alert-bell { justify-self: end; }
    .brand-logo-topbar { width: min(96px, 29vw); }
}
.pwa-schedule-grid,.pwa-rule-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.4fr);gap:14px}.pwa-delivery-metrics{flex-wrap:wrap}.pwa-automation-toolbar{display:grid;grid-template-columns:150px 150px minmax(0,1fr);gap:14px;margin-bottom:24px}.pwa-automation-summary{display:flex;flex-direction:column;justify-content:center;min-height:88px;padding:16px 18px;border:1px solid #dfe6e8;border-radius:16px;background:#f7f9f9}.pwa-automation-summary strong{font:800 28px/1 Manrope,sans-serif;color:#17303f}.pwa-automation-summary span{margin-top:7px;font-size:12px;font-weight:700;color:#6e7d84}.pwa-automation-summary.is-active{border-color:#b9ded1;background:#eff9f5}.pwa-automation-summary.is-active strong{color:#157a5b}.pwa-automation-help{display:flex;align-items:center;gap:13px;padding:16px 18px;border:1px solid #ead9ad;border-radius:16px;background:#fffaf0}.pwa-automation-help>span{display:grid;place-items:center;flex:0 0 30px;height:30px;border-radius:50%;background:#b78a26;color:#fff;font-weight:800}.pwa-automation-help p{margin:0;color:#6c6047;font-size:13px;line-height:1.5}.pwa-automation-help strong{display:block;color:#433b2d}.pwa-automation-groups{display:flex;flex-direction:column;gap:22px}.pwa-rule-group{overflow:hidden;border:1px solid #dfe6e8;border-radius:20px;background:#f7f9f9}.pwa-rule-group-head{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;border-bottom:1px solid #dfe6e8;background:#fff}.pwa-rule-group-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#17303f;color:#fff;font:800 16px/1 Manrope,sans-serif}.pwa-rule-group-head h3{margin:0;color:#17303f;font-size:18px}.pwa-rule-group-head p{margin:4px 0 0;color:#718087;font-size:13px}.pwa-rule-group-head>span{padding:7px 10px;border-radius:999px;background:#eef3f4;color:#53656d;font-size:11px;font-weight:800;white-space:nowrap}.pwa-automation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px}.pwa-automation-rule{display:flex;min-width:0;flex-direction:column;gap:14px;padding:18px;border:1px solid #dde5e7;border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(31,57,70,.05);transition:border-color .2s,box-shadow .2s}.pwa-automation-rule.is-enabled{border-color:#b7d9cd;box-shadow:inset 4px 0 #157a5b,0 7px 20px rgba(31,57,70,.05)}.pwa-automation-rule.is-disabled{background:#fbfcfc}.pwa-automation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pwa-automation-head>div>span{font-size:10px;font-weight:800;letter-spacing:.09em;color:#7b898f}.pwa-automation-head h4{margin:4px 0 0;color:#1c3441;font-size:16px}.pwa-rule-switch{display:flex;align-items:center;gap:7px;cursor:pointer;white-space:nowrap}.pwa-rule-switch input{position:absolute;opacity:0}.pwa-rule-switch>span{width:42px;height:24px;border-radius:999px;background:#c9d1d5;position:relative;transition:.2s}.pwa-rule-switch>span:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.22);transition:.2s}.pwa-rule-switch input:checked+span{background:#157a5b}.pwa-rule-switch input:checked+span:after{transform:translateX(18px)}.pwa-rule-switch b{font-size:11px;color:#56686f}.pwa-rule-preview{min-width:0;padding:14px 15px;border-radius:13px;background:#f4f7f7}.pwa-rule-preview>span{display:block;margin-bottom:7px;color:#859197;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.pwa-rule-preview strong,.pwa-rule-preview p,.pwa-rule-preview small{display:block;overflow-wrap:anywhere}.pwa-rule-preview strong{color:#203944;font-size:14px}.pwa-rule-preview p{margin:5px 0 8px;color:#52656d;font-size:13px;line-height:1.45}.pwa-rule-preview small{color:#829097;font-size:11px}.pwa-rule-editor{border:1px solid #e1e7e9;border-radius:12px;background:#fff}.pwa-rule-editor summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;color:#34515e;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.pwa-rule-editor summary::-webkit-details-marker{display:none}.pwa-rule-editor summary b{font-size:18px;transition:transform .2s}.pwa-rule-editor[open] summary b{transform:rotate(180deg)}.pwa-rule-editor-body{display:flex;flex-direction:column;gap:13px;padding:14px;border-top:1px solid #e5eaec;background:#fafbfb}.pwa-rule-editor textarea{resize:vertical}.pwa-rule-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}.pwa-rule-actions small{color:#88949a;font-size:11px}.pwa-rule-actions .secondary-button{white-space:nowrap}
@media(max-width:1000px){.pwa-automation-toolbar{grid-template-columns:130px 130px minmax(0,1fr)}.pwa-automation-grid{grid-template-columns:1fr}}@media(max-width:720px){.pwa-automation-toolbar{grid-template-columns:1fr 1fr}.pwa-automation-help{grid-column:1/-1}.pwa-rule-group-head{grid-template-columns:40px minmax(0,1fr)}.pwa-rule-group-head>span{grid-column:2}.pwa-automation-grid{padding:12px}}@media(max-width:520px){.pwa-schedule-grid,.pwa-rule-row{grid-template-columns:1fr}.pwa-automation-toolbar{grid-template-columns:1fr}.pwa-automation-help{grid-column:auto}.pwa-rule-group-head{padding:15px}.pwa-rule-group-head p{font-size:12px}.pwa-automation-rule{padding:15px}.pwa-automation-head{align-items:center}.pwa-rule-switch b{display:none}.pwa-rule-actions{align-items:stretch;flex-direction:column}.pwa-rule-actions .secondary-button{width:100%}}

/* v2.17.50 payment-slip Transaction ID scanning and duplicate protection. */
.payment-transaction-scan {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    width: 100%;
    padding: 16px;
    border: 1px solid #dce5e8;
    border-radius: 16px;
    background: #f7f9fa;
    box-sizing: border-box;
}
.payment-transaction-scan-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: #17303f;
    color: #fff;
    font: 800 13px/1 Manrope, sans-serif;
}
.payment-transaction-scan > div { min-width: 0; }
.payment-transaction-scan > div > small {
    display: block;
    margin-bottom: 4px;
    color: #7c898f;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
}
.payment-transaction-scan strong,
.payment-transaction-scan p,
.payment-transaction-scan code { overflow-wrap: anywhere; }
.payment-transaction-scan strong { display: block; color: #1a3441; font-size: 15px; }
.payment-transaction-scan p { margin: 5px 0 0; color: #687981; font-size: 12px; line-height: 1.5; }
.payment-transaction-scan code {
    display: inline-block;
    margin-top: 9px;
    padding: 7px 10px;
    border-radius: 8px;
    background: #fff;
    color: #0c6b4e;
    font: 800 14px/1.3 ui-monospace, SFMono-Regular, Consolas, monospace;
}
.payment-transaction-scan code[hidden],
.manual-transaction-field[hidden] { display: none !important; }
.payment-transaction-status {
    padding: 7px 10px;
    border-radius: 999px;
    background: #e9eef0;
    color: #607078;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.payment-transaction-scan[data-state="scanning"] { border-color: #d7c495; background: #fffaf0; }
.payment-transaction-scan[data-state="scanning"] .payment-transaction-scan-icon { background: #ae8226; }
.payment-transaction-scan[data-state="scanning"] .payment-transaction-status { background: #f5e8c7; color: #7b5b18; }
.payment-transaction-scan[data-state="detected"] { border-color: #b9dfd1; background: #eff9f5; }
.payment-transaction-scan[data-state="detected"] .payment-transaction-scan-icon { background: #14775a; }
.payment-transaction-scan[data-state="detected"] .payment-transaction-status { background: #d6eee5; color: #116348; }
.payment-transaction-scan[data-state="manual"] { border-color: #c9d9e0; background: #f2f7f9; }
.payment-transaction-scan[data-state="manual"] .payment-transaction-scan-icon { background: #356b80; }
.payment-transaction-scan[data-state="manual"] .payment-transaction-status { background: #dceaf0; color: #2c6074; }
.payment-transaction-scan[data-state="not-detected"] { border-color: #e2c98f; background: #fff9ec; }
.payment-transaction-scan[data-state="not-detected"] .payment-transaction-scan-icon { background: #a97818; }
.payment-transaction-scan[data-state="not-detected"] .payment-transaction-status { background: #f4e5bd; color: #74530f; }
.payment-transaction-scan[data-state="duplicate"] { border-color: #e4b8b8; background: #fff2f2; }
.payment-transaction-scan[data-state="duplicate"] .payment-transaction-scan-icon { background: #a83b3b; }
.payment-transaction-scan[data-state="duplicate"] .payment-transaction-status { background: #f3d6d6; color: #8f2f2f; }
.manual-transaction-field {
    display: flex;
    width: 100%;
    flex-direction: column;
    gap: 7px;
    padding: 15px 16px;
    border: 1px solid #dce5e8;
    border-radius: 14px;
    background: #fff;
    box-sizing: border-box;
}
.manual-transaction-field > span { color: #294653; font-size: 13px; font-weight: 800; }
.manual-transaction-field > span small { display: block; margin-top: 3px; color: #7d8b91; font-size: 10px; font-weight: 600; }
.manual-transaction-field input { width: 100%; box-sizing: border-box; text-transform: uppercase; }
.manual-transaction-field > small { color: #74858d; font-size: 11px; line-height: 1.45; }
.upload-form .primary-button:disabled,
.payment-completion-area .primary-button:disabled { cursor: wait; opacity: .56; }

.payment-transaction-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
    padding: 16px 18px;
    border: 1px solid #b9dfd1;
    border-radius: 15px;
    background: #eff9f5;
}
.payment-transaction-summary span,
.payment-transaction-summary strong,
.payment-transaction-summary small { display: block; overflow-wrap: anywhere; }
.payment-transaction-summary span { color: #5c7c70; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.payment-transaction-summary strong { margin-top: 5px; color: #105f47; font: 800 17px/1.35 ui-monospace, SFMono-Regular, Consolas, monospace; }
.payment-transaction-summary small { margin-top: 5px; color: #5e7e72; font-size: 11px; }
.payment-transaction-summary b,
.admin-payment-transaction-status {
    padding: 7px 10px;
    border-radius: 999px;
    background: #d6eee5;
    color: #116348;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}
.admin-payment-transaction { margin-top: 8px; padding: 9px 10px; border-radius: 10px; background: #eff8f4; }
.admin-payment-transaction strong,
.admin-payment-transaction small { display: block; overflow-wrap: anywhere; }
.admin-payment-transaction strong { color: #146549; font: 800 12px/1.4 ui-monospace, SFMono-Regular, Consolas, monospace; }
.admin-payment-transaction small { margin-top: 3px; color: #5d7c71; font-size: 10px; }
.admin-payment-transaction.is-not-detected { border: 1px solid #e3c783; background: #fff7e4; }
.admin-payment-transaction.is-not-detected strong,
.admin-payment-transaction.is-not-detected small { color: #79560e; }

@media (max-width: 600px) {
    .payment-transaction-scan { grid-template-columns: 42px minmax(0, 1fr); padding: 14px; }
    .payment-transaction-scan-icon { width: 42px; height: 42px; border-radius: 12px; }
    .payment-transaction-status { grid-column: 2; justify-self: start; }
    .payment-transaction-summary { grid-template-columns: 1fr; }
    .payment-transaction-summary b { justify-self: start; }
}

/* v2.17.51 — Signature Account identity fields are controlled by the account. */
.wallet-recipient-card .account-locked-field input[readonly] {
    border-color: #cbd9de;
    background: #eef3f5;
    color: #304c58;
    cursor: not-allowed;
    box-shadow: inset 0 0 0 1px rgba(23, 48, 63, .03);
}
.wallet-recipient-card .account-locked-field input[readonly]:focus {
    border-color: #9eb4bd;
    box-shadow: 0 0 0 3px rgba(53, 107, 128, .1);
}

/* v2.17.61 — staged full-width Open Camera and 70/30 Record-Retake controls. */
.kyc-page .kyc-face-control-buttons {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    gap: 10px;
    width: 100%;
}
.kyc-page .kyc-face-control-buttons button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
    white-space: normal;
}
.kyc-page .kyc-face-control-buttons button[hidden] { display: none !important; }
.kyc-page .kyc-face-control-buttons #openKycCamera { grid-column: 1 / -1; }
.kyc-page .kyc-face-control-buttons #recordKycVideo { grid-column: 1; }
.kyc-page .kyc-face-control-buttons #retakeKycVideo { grid-column: 2; }

/* v2.17.62 — non-blocking Transaction ID scan and administrator hash verification. */
.admin-crypto-transaction-hash {
    display: grid;
    gap: 4px;
    margin-top: 8px;
    padding: 10px 11px;
    border: 1px solid #a9dbc5;
    border-radius: 10px;
    background: #eaf8f1;
    color: #116a4b;
}
.admin-crypto-transaction-hash strong {
    color: #116a4b;
    font-size: 11px;
    font-weight: 900;
}
.admin-crypto-transaction-hash code {
    color: #0b7651;
    font: 800 11px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.transaction-hash-verify-button {
    width: 100%;
    min-height: 36px;
    margin-top: 7px;
    padding: 7px 10px;
    border: 1px solid #16805c;
    border-radius: 9px;
    background: #16805c;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}
.transaction-hash-verify-button:hover,
.transaction-hash-verify-button:focus-visible { background: #0f684a; border-color: #0f684a; outline: none; }

body.has-transaction-hash-verification-modal { overflow: hidden; }
.transaction-hash-verification-modal[hidden] { display: none !important; }
.transaction-hash-verification-modal {
    position: fixed;
    inset: 0;
    z-index: 1550;
    display: grid;
    place-items: center;
    padding: 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
}
.transaction-hash-verification-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 28, 34, .65);
    backdrop-filter: blur(4px);
}
.transaction-hash-verification-dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(650px, 100%);
    min-height: 0;
    max-height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,.42);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(4, 25, 31, .34);
}
.transaction-hash-verification-head {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 24px 26px 20px;
    border-bottom: 1px solid #dcece4;
    background: linear-gradient(145deg, #effaf5, #fff);
}
.transaction-hash-verification-head h2 { margin: 5px 0 7px; color: #153b30; font: 800 24px/1.2 Manrope, sans-serif; }
.transaction-hash-verification-head p { margin: 0; color: #5b7068; font-size: 12px; line-height: 1.55; }
.transaction-hash-verification-head p strong { color: #146449; overflow-wrap: anywhere; }
.transaction-hash-verification-close {
    display: grid;
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 10px;
    background: #e2f1ea;
    color: #285a48;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
}
.transaction-hash-verification-form {
    display: grid;
    gap: 16px;
    min-height: 0;
    padding: 24px 26px 26px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}
.transaction-hash-verification-form label { display: grid; gap: 8px; min-width: 0; }
.transaction-hash-verification-form label > span { color: #29453b; font-size: 12px; font-weight: 900; }
.transaction-hash-verification-form input[type="text"] {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    box-sizing: border-box;
    border: 1px solid #cadbd3;
    border-radius: 11px;
    background: #fbfdfc;
    color: #173b2f;
    font: 700 13px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace;
    outline: none;
}
.transaction-hash-verification-form input[type="text"]:focus { border-color: #16805c; box-shadow: 0 0 0 4px rgba(22,128,92,.12); }
.transaction-hash-verification-form label small { color: #74837d; font-size: 11px; line-height: 1.5; }
.transaction-hash-verification-result {
    padding: 15px 16px;
    border: 1px solid;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 900;
    line-height: 1.5;
}
.transaction-hash-verification-result[hidden] { display: none !important; }
.transaction-hash-verification-result.is-pass { border-color: #86d0af; background: #e9f8f1; color: #08724f; }
.transaction-hash-verification-result.is-fail { border-color: #e4a6a3; background: #fff0ef; color: #ad302b; }
.transaction-hash-verification-actions { display: flex; justify-content: flex-end; gap: 10px; }
.transaction-hash-verification-actions .primary-button { width: auto; height: 44px; padding-inline: 18px; }
.transaction-hash-verification-actions .primary-button:disabled { cursor: wait; opacity: .65; }

@media (max-width: 620px) {
    .kyc-page .kyc-face-control-buttons {
        grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
        gap: 6px;
    }
    .kyc-page .kyc-face-control-buttons button {
        padding-inline: 8px;
        font-size: 12px;
        line-height: 1.2;
    }
    .transaction-hash-verification-modal {
        align-items: end;
        padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));
    }
    .transaction-hash-verification-dialog { max-height: 100%; border-radius: 18px; }
    .transaction-hash-verification-head { padding: 19px 18px 16px; }
    .transaction-hash-verification-head h2 { font-size: 20px; }
    .transaction-hash-verification-form { padding: 19px 18px max(19px, env(safe-area-inset-bottom)); }
    .transaction-hash-verification-actions { display: grid; grid-template-columns: 1fr; }
    .transaction-hash-verification-actions .primary-button,
    .transaction-hash-verification-actions .record-toggle-button { width: 100%; }
}
.wallet-recipient-card .account-locked-field > small {
    color: #4f6f7c;
    font-weight: 700;
}

/* v2.17.63 — staged Step 3 crypto payment facial-verification controls. */
.face-verification-card .payment-face-control-buttons {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
    gap: 10px;
    width: 100%;
}
.face-verification-card .payment-face-control-buttons button {
    width: 100%;
    min-width: 0;
    padding-inline: 10px;
    white-space: normal;
}
.face-verification-card .payment-face-control-buttons button[hidden] { display: none !important; }
.face-verification-card .payment-face-control-buttons #openFaceCamera { grid-column: 1 / -1; }
.face-verification-card .payment-face-control-buttons #recordFaceVideo { grid-column: 1; }
.face-verification-card .payment-face-control-buttons #retakeFaceVideo { grid-column: 2; }

@media (max-width: 620px) {
    .face-verification-card .payment-face-control-buttons {
        grid-template-columns: minmax(0, 7fr) minmax(0, 3fr);
        gap: 6px;
    }
    .face-verification-card .payment-face-control-buttons button {
        padding-inline: 8px;
        font-size: 12px;
        line-height: 1.2;
    }
}

/* v2.17.66 — interactive seven-market-day EM Network Fee rate panel. */
.em-network-fee-live-rate {
    position: relative;
    display: block;
    min-width: 0;
    border: 1px solid rgba(31, 112, 83, .2);
    border-radius: 13px;
    background: linear-gradient(135deg, rgba(236, 249, 242, .96), rgba(255, 252, 242, .96));
    box-shadow: 0 8px 22px rgba(20, 52, 42, .07);
}
.em-network-fee-rate-trigger {
    position: relative;
    display: grid;
    width: 100%;
    min-width: 0;
    gap: 3px;
    padding: 9px 38px 9px 13px;
    border: 0;
    border-radius: inherit;
    color: inherit;
    background: transparent;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.em-network-fee-rate-trigger:focus-visible {
    outline: 3px solid rgba(32, 163, 110, .28);
    outline-offset: 2px;
}
.em-network-fee-rate-label,
.em-network-fee-rate-trigger > strong { display: block; min-width: 0; }
.em-network-fee-rate-label {
    overflow: hidden;
    color: #177052;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    line-height: 1.25;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}
.em-network-fee-rate-label::before {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 6px;
    border-radius: 50%;
    background: #20a36e;
    box-shadow: 0 0 0 3px rgba(32, 163, 110, .12);
    content: "";
    vertical-align: 1px;
}
.em-network-fee-rate-trigger > strong {
    overflow: hidden;
    color: #153d31;
    font: 800 12px/1.35 Manrope, sans-serif;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.em-network-fee-rate-chevron {
    position: absolute;
    top: 50%;
    right: 13px;
    display: grid;
    place-items: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    color: #177052;
    background: rgba(32, 163, 110, .11);
    font: 900 17px/1 Arial, sans-serif;
    transform: translateY(-50%);
    transition: transform .2s ease, background .2s ease;
}
.em-network-fee-live-rate.is-open .em-network-fee-rate-chevron {
    background: rgba(32, 163, 110, .18);
    transform: translateY(-50%) rotate(180deg);
}

.em-network-fee-market-backdrop { display: none; }
.em-network-fee-market-popover {
    position: absolute;
    top: calc(100% + 12px);
    right: 0;
    z-index: 1505;
    width: min(448px, calc(100vw - 28px));
    max-height: calc(100vh - 100px);
    overflow: auto;
    padding: 0 18px 18px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 20px;
    visibility: hidden;
    opacity: 0;
    color: #eef7f3;
    background: #0e1211;
    box-shadow: 0 25px 70px rgba(2, 11, 8, .36);
    pointer-events: none;
    transform: translateY(-8px) scale(.985);
    transform-origin: top right;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
    scrollbar-color: #385048 #111715;
}
.em-network-fee-live-rate.is-open .em-network-fee-market-popover {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}
.account-network-fee-rate .em-network-fee-market-popover {
    right: auto;
    left: 50%;
    transform: translate(-50%, -8px) scale(.985);
    transform-origin: top center;
}
.account-network-fee-rate.is-open .em-network-fee-market-popover { transform: translate(-50%, 0) scale(1); }
.em-market-popover-head {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 -18px;
    padding: 17px 18px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    background: rgba(14, 18, 17, .96);
    backdrop-filter: blur(12px);
}
.em-market-popover-head span,
.em-market-popover-head strong { display: block; }
.em-market-popover-head span {
    color: #6fc8a5;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .12em;
}
.em-market-popover-head strong { margin-top: 4px; color: white; font: 800 16px/1.25 Manrope, sans-serif; }
.em-market-popover-head button {
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 50%;
    color: #c8d6d0;
    background: #18201d;
    font: 400 23px/1 Arial, sans-serif;
    cursor: pointer;
}
.em-market-popover-head button:hover { color: white; background: #24302c; }
.em-market-tabs {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 16px 0;
    padding: 4px;
    border-radius: 12px;
    background: #171d1b;
}
.em-market-tabs button {
    min-height: 34px;
    padding: 0 8px;
    border: 0;
    border-radius: 9px;
    color: #84938d;
    background: transparent;
    font: 800 11px/1 Manrope, sans-serif;
    cursor: pointer;
}
.em-market-tabs button[aria-selected="true"] { color: #f6fffb; background: #27332f; box-shadow: 0 5px 14px rgba(0, 0, 0, .18); }
.em-market-tabs button:focus-visible { outline: 2px solid #42b883; outline-offset: 1px; }
.em-market-pane {
    --em-market-accent: #35b879;
    --em-market-accent-soft: rgba(53, 184, 121, .15);
}
.em-market-pane.is-down {
    --em-market-accent: #f15e67;
    --em-market-accent-soft: rgba(241, 94, 103, .15);
}
.em-market-pane.is-flat {
    --em-market-accent: #d8b65b;
    --em-market-accent-soft: rgba(216, 182, 91, .14);
}
.em-market-current {
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    background: linear-gradient(145deg, #131a17, #0f1412);
}
.em-market-current-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.em-market-current-meta span { color: #929f9a; font-size: 11px; font-weight: 700; }
.em-market-current-meta time { color: #6f7c77; font-size: 10px; font-weight: 700; }
.em-market-current-price { display: flex; align-items: baseline; gap: 10px; margin-top: 9px; }
.em-market-current-price strong { color: var(--em-market-accent); font: 800 clamp(32px, 8vw, 43px)/1 Manrope, sans-serif; letter-spacing: -.04em; }
.em-market-current-price b { color: var(--em-market-accent); font: 900 12px/1 Manrope, sans-serif; }
.em-market-current-change { display: flex; align-items: baseline; flex-wrap: wrap; gap: 5px; margin-top: 8px; color: var(--em-market-accent); font-size: 13px; font-weight: 800; }
.em-market-current-change span { color: #68756f; font-size: 9px; font-weight: 700; }
.em-market-chart-wrap { margin-top: 12px; padding: 14px 12px 8px; border: 1px solid rgba(255, 255, 255, .07); border-radius: 15px; background: #111715; }
.em-market-chart-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 0 4px 5px; }
.em-market-chart-title strong { color: #d8e5df; font-size: 11px; }
.em-market-chart-title span { color: #66736e; font-size: 9px; }
.em-market-chart { display: block; width: 100%; height: auto; overflow: visible; }
.em-market-chart-grid line { stroke: rgba(255, 255, 255, .07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.em-market-chart-area { fill: var(--em-market-accent-soft); }
.em-market-chart-line { fill: none; stroke: var(--em-market-accent); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.em-market-chart-points circle { fill: #111715; stroke: var(--em-market-accent); stroke-width: 2; vector-effect: non-scaling-stroke; }
.em-market-chart-labels text { fill: #68756f; font: 700 9px "DM Sans", sans-serif; }
.em-market-chart-empty,
.em-market-history-empty { padding: 30px 10px; color: #78857f; font-size: 11px; line-height: 1.5; text-align: center; }
.em-market-history { margin-top: 12px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .07); border-radius: 15px; background: #111715; }
.em-market-history-head,
.em-market-history-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 10px; }
.em-market-history-head { padding: 13px 14px; border-bottom: 1px solid rgba(255, 255, 255, .07); }
.em-market-history-head strong { grid-column: 1 / 3; color: #d8e5df; font-size: 11px; }
.em-market-history-head span { color: #67746f; font-size: 9px; font-weight: 700; }
.em-market-history-row { min-height: 38px; padding: 8px 14px; border-bottom: 1px solid rgba(255, 255, 255, .045); }
.em-market-history-row:last-child { border-bottom: 0; }
.em-market-history-row time { color: #86928d; font-size: 10px; font-weight: 700; }
.em-market-history-row strong { color: #eef7f3; font: 800 12px/1 Manrope, sans-serif; }
.em-market-history-row > span { color: #627069; font-size: 9px; font-weight: 800; }
.em-market-source { display: flex; align-items: center; gap: 8px; margin-top: 12px; color: #64716b; font-size: 9px; line-height: 1.4; }
.em-market-source > span:last-child { min-width: 0; }
.em-market-live,
.em-market-stale { flex: 0 0 auto; padding: 4px 6px; border-radius: 999px; color: #69c99f; background: rgba(53, 184, 121, .12); font-size: 8px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.em-market-stale { color: #e4bd65; background: rgba(216, 182, 91, .13); }
.account-header .account-network-fee-rate {
    flex: 0 1 570px;
    margin-inline: clamp(14px, 3vw, 42px);
}
/* v2.17.67 — keep the customer market panel above the following account content. */
.account-header.shell {
    z-index: 1510;
}
/* v2.17.69 — customer-home balance opens the shared seven-day market panel. */
.site-header.shell {
    z-index: 1510;
}
.home-network-fee-balance {
    display: inline-flex;
    flex: 0 0 auto;
    min-width: 0;
    border: 0;
    border-radius: 999px;
    background: transparent;
    box-shadow: none;
}
.home-network-fee-balance .home-network-fee-balance-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 38px;
    gap: 8px;
    padding: 7px 38px 7px 12px;
    border: 1px solid rgba(219, 188, 133, .55);
    border-radius: 999px;
    color: #2b6955;
    background: #edf5f0;
    font: 700 12px/1.2 "DM Sans", sans-serif;
    white-space: nowrap;
    appearance: none;
}
.home-network-fee-balance .home-network-fee-balance-trigger:hover,
.home-network-fee-balance .home-network-fee-balance-trigger:focus-visible {
    background: #e3f1e9;
}
.home-network-fee-balance .home-network-fee-balance-trigger > strong {
    color: #f37236;
    font: 800 14px/1 Manrope, sans-serif;
}
.home-network-fee-balance .em-network-fee-rate-chevron {
    right: 9px;
    width: 20px;
    height: 20px;
    font-size: 16px;
}
.em-market-account-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    margin-top: 12px;
    padding: 8px 14px;
    border: 1px solid rgba(105, 201, 159, .26);
    border-radius: 11px;
    color: #8bd9b8;
    background: rgba(53, 184, 121, .1);
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}
.em-market-account-link:hover,
.em-market-account-link:focus-visible {
    color: #f5fffb;
    background: rgba(53, 184, 121, .19);
}
body.admin-page:not(.supplier-page) .admin-topbar {
    grid-template-columns: auto auto minmax(120px, 1fr) minmax(330px, auto) auto auto;
}
.admin-network-fee-rate {
    grid-column: 4;
    justify-self: end;
    width: min(100%, 470px);
}
body.admin-page:not(.supplier-page) .admin-topbar .admin-alert-bell { grid-column: 5; }
body.admin-page:not(.supplier-page) .admin-topbar .admin-topbar-user { grid-column: 6; }

@media (max-width: 1040px) {
    body.admin-page:not(.supplier-page) .admin-topbar .admin-topbar-user { display: none; }
}

@media (max-width: 820px) {
    .account-header { flex-wrap: wrap; }
    .account-header .account-network-fee-rate {
        order: 3;
        flex: 1 0 100%;
        width: 100%;
        margin: 0;
    }
    body.admin-page:not(.supplier-page) .admin-topbar {
        grid-template-columns: auto auto minmax(0, 1fr) auto;
        grid-template-rows: auto auto;
        row-gap: 8px;
    }
    .admin-network-fee-rate {
        grid-column: 1 / -1;
        grid-row: 2;
        justify-self: stretch;
        width: 100%;
    }
    body.admin-page:not(.supplier-page) .admin-topbar .admin-alert-bell {
        grid-column: 4;
        grid-row: 1;
    }
    .em-network-fee-rate-trigger > strong {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
    }
}

@media (max-width: 390px) {
    body.admin-page:not(.supplier-page) .admin-topbar {
        grid-template-columns: auto minmax(78px, 100px) minmax(0, 1fr) auto;
    }
    .em-network-fee-rate-trigger { padding: 8px 36px 8px 10px; }
    .em-network-fee-rate-label { font-size: 8px; }
    .em-network-fee-rate-trigger > strong { font-size: 11px; }
}

@media (max-width: 620px) {
    .site-header .home-network-fee-balance {
        grid-column: 1 / -1;
        order: 5;
        flex: 1 0 100%;
        width: 100%;
        margin: 0;
    }
    .site-header .home-network-fee-balance .home-network-fee-balance-trigger {
        flex: 0 1 auto;
        width: 100%;
    }
    body.em-network-fee-rate-sheet-open .pwa-mobile-card-stack,
    body.em-network-fee-rate-sheet-open .pwa-install-card,
    body.em-network-fee-rate-sheet-open .pwa-update-card,
    body.em-network-fee-rate-sheet-open .pwa-notification-card {
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 720px) {
    body.em-network-fee-rate-sheet-open { overflow: hidden; }
    .em-network-fee-market-backdrop {
        position: fixed;
        inset: 0;
        z-index: 1495;
        display: block;
        width: 100%;
        height: 100%;
        padding: 0;
        border: 0;
        visibility: hidden;
        opacity: 0;
        background: rgba(1, 8, 6, .58);
        backdrop-filter: blur(3px);
        pointer-events: none;
        transition: opacity .2s ease, visibility .2s ease;
    }
    .em-network-fee-live-rate.is-open .em-network-fee-market-backdrop {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
    }
    .em-network-fee-market-popover,
    .account-network-fee-rate .em-network-fee-market-popover {
        position: fixed;
        inset: auto 0 0;
        z-index: 1505;
        width: 100%;
        max-height: min(86dvh, 720px);
        padding: 0 max(14px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
        border-width: 1px 0 0;
        border-radius: 22px 22px 0 0;
        visibility: hidden;
        opacity: 1;
        transform: translateY(105%);
        transform-origin: bottom center;
        transition: transform .24s ease, visibility .24s ease;
    }
    .em-network-fee-live-rate.is-open .em-network-fee-market-popover,
    .account-network-fee-rate.is-open .em-network-fee-market-popover {
        visibility: visible;
        transform: translateY(0);
    }
    .em-market-popover-head { margin-inline: calc(-1 * max(14px, env(safe-area-inset-left))) calc(-1 * max(14px, env(safe-area-inset-right))); padding-inline: max(16px, env(safe-area-inset-left)) max(16px, env(safe-area-inset-right)); }
    .em-market-current-price strong { font-size: clamp(34px, 11vw, 43px); }
}

@media (prefers-reduced-motion: reduce) {
    .em-network-fee-rate-chevron,
    .em-network-fee-market-backdrop,
    .em-network-fee-market-popover { transition: none; }
}

/* v2.17.73 — scalable Recipient Banks country directory */
.recipient-bank-directory-head { align-items: center; gap: 24px; }
.recipient-bank-directory-head-actions { display: grid; justify-items: end; gap: 12px; min-width: min(100%, 430px); }
.recipient-bank-summary-chips { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 7px; }
.recipient-bank-summary-chips span { display: inline-flex; align-items: baseline; gap: 5px; min-height: 31px; padding: 6px 10px; border: 1px solid #e0d9cc; border-radius: 999px; background: #faf8f3; color: #647177; font-size: 11px; font-weight: 700; }
.recipient-bank-summary-chips strong { color: #203740; font: 800 14px Manrope,sans-serif; }
.recipient-bank-summary-chips .is-active { border-color: #cce4d6; background: #eff9f3; color: #367354; }
.recipient-bank-summary-chips .is-active strong { color: #236444; }
.recipient-bank-add-button { min-width: 190px; }

.recipient-bank-filter-bar { display: grid; grid-template-columns: minmax(230px,1.8fr) minmax(170px,.9fr) minmax(135px,.65fr) minmax(120px,.55fr) auto auto; align-items: end; gap: 10px; padding: 18px 22px; border-top: 1px solid #ece7dd; border-bottom: 1px solid #ece7dd; background: #faf8f3; }
.recipient-bank-filter-bar label { display: grid; gap: 6px; min-width: 0; }
.recipient-bank-filter-bar label > span { color: #3c4c53; font-size: 11px; font-weight: 800; }
.recipient-bank-filter-bar input,
.recipient-bank-filter-bar select { width: 100%; min-width: 0; height: 42px; border: 1px solid #d8d2c8; border-radius: 10px; padding: 0 11px; background: #fff; color: #1b3039; font: inherit; outline: 0; }
.recipient-bank-filter-bar input:focus,
.recipient-bank-filter-bar select:focus { border-color: #b8873a; box-shadow: 0 0 0 3px rgba(184,135,58,.11); }
.recipient-bank-filter-bar .save-button { min-height: 42px; }
.recipient-bank-filter-clear { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 8px; color: #785e35; font-size: 12px; font-weight: 800; white-space: nowrap; }
.recipient-bank-filter-summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 22px; border-bottom: 1px solid #eee9df; background: #fff; color: #66747a; font-size: 12px; }
.recipient-bank-filter-summary strong { color: #6f542a; }
.recipient-bank-filter-summary small { font-size: 11px; }

.recipient-bank-country-groups { display: grid; gap: 16px; padding: 18px 20px 22px; background: #f6f3ed; }
.recipient-bank-country-group { overflow: hidden; border: 1px solid #ddd6ca; border-radius: 16px; background: #fff; box-shadow: 0 8px 24px rgba(24,44,53,.045); }
.recipient-bank-country-head { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; align-items: center; gap: 13px; padding: 15px 18px; border-bottom: 1px solid #e9e3d8; background: linear-gradient(135deg,#fff,#faf6ed); }
.recipient-bank-country-code { display: grid; place-items: center; width: 48px; height: 40px; border: 1px solid #d8c9ad; border-radius: 11px; background: #fff9eb; color: #855e22; font: 800 13px Manrope,sans-serif; letter-spacing: .055em; }
.recipient-bank-country-head h3 { margin: 0; color: #19323c; font: 800 17px Manrope,sans-serif; }
.recipient-bank-country-head p { margin: 4px 0 0; color: #69767b; font-size: 11px; }
.recipient-bank-country-count { display: grid; justify-items: end; }
.recipient-bank-country-count strong { color: #1f3b45; font: 800 18px Manrope,sans-serif; }
.recipient-bank-country-count span { color: #7a858a; font-size: 10px; font-weight: 700; }
.recipient-bank-table-wrap { border: 0; }
.recipient-bank-list-table { min-width: 930px; }
.recipient-bank-list-table th { background: #fbfaf7; color: #6c777b; font-size: 10px; letter-spacing: .035em; text-transform: uppercase; }
.recipient-bank-list-table td { vertical-align: middle; }
.recipient-bank-list-table td > strong,
.recipient-bank-list-table td > small { display: block; }
.recipient-bank-list-table td > small { margin-top: 4px; color: #758086; font-size: 10px; }
.recipient-bank-list-table td code { display: inline-flex; padding: 5px 7px; border-radius: 7px; background: #f1f4f2; color: #285243; font-size: 11px; font-weight: 800; }
.recipient-bank-empty-value { color: #9aa2a5; font-size: 11px; }
.recipient-bank-status { display: inline-flex; align-items: center; min-height: 27px; padding: 5px 9px; border-radius: 999px; font-size: 10px; font-weight: 800; }
.recipient-bank-status.is-active { background: #e7f5ec; color: #286b49; }
.recipient-bank-status.is-inactive { background: #f4e8e5; color: #91483f; }
.recipient-bank-row-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.recipient-bank-row-actions form { margin: 0; }
.recipient-bank-row-actions button { min-height: 32px; padding: 0 10px; font-size: 10px; }
.recipient-bank-row-actions button:disabled { opacity: .45; cursor: not-allowed; }
.recipient-bank-view-only { color: #899296; font-size: 10px; font-weight: 700; }
.recipient-bank-empty { padding: 45px 20px; border: 1px dashed #d6cec0; border-radius: 15px; background: #fff; text-align: center; }
.recipient-bank-empty strong { color: #314850; font: 800 17px Manrope,sans-serif; }
.recipient-bank-empty p { margin: 7px 0 0; color: #7a858a; font-size: 12px; }
#recipient-directory > .admin-pagination { border-top: 1px solid #e5dfd4; }

body.has-recipient-bank-modal { overflow: hidden; }
.recipient-bank-modal[hidden] { display: none !important; }
.recipient-bank-modal { position: fixed; inset: 0; z-index: 1400; display: grid; place-items: center; padding: 24px; }
.recipient-bank-modal-backdrop { position: absolute; inset: 0; background: rgba(9,24,30,.62); backdrop-filter: blur(3px); }
.recipient-bank-modal-dialog { position: relative; z-index: 1; width: min(690px,100%); max-height: min(90vh,820px); overflow: auto; border: 1px solid rgba(255,255,255,.35); border-radius: 22px; background: #fff; box-shadow: 0 30px 80px rgba(10,27,34,.3); }
.recipient-bank-modal-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding: 23px 25px 19px; border-bottom: 1px solid #ece6dc; background: linear-gradient(145deg,#fff,#faf5eb); }
.recipient-bank-modal-head h2 { margin: 5px 0; color: #17313b; font: 800 23px Manrope,sans-serif; }
.recipient-bank-modal-head p { margin: 0; max-width: 550px; color: #66747a; font-size: 12px; line-height: 1.5; }
.recipient-bank-modal-close { display: grid; place-items: center; flex: 0 0 36px; width: 36px; height: 36px; border: 0; border-radius: 10px; background: #efeae1; color: #3b494f; font-size: 24px; cursor: pointer; }
.recipient-bank-modal-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 23px 25px 25px; }
.recipient-bank-modal-form label { display: grid; gap: 7px; min-width: 0; }
.recipient-bank-modal-form label > span { color: #34464e; font-size: 11px; font-weight: 800; }
.recipient-bank-modal-form label > small { color: #7b858a; font-size: 10px; line-height: 1.45; }
.recipient-bank-modal-form input:not([type="checkbox"]),
.recipient-bank-modal-form select { width: 100%; min-width: 0; min-height: 44px; border: 1px solid #d8d2c8; border-radius: 10px; padding: 0 11px; background: #fff; color: #1e3038; font: inherit; outline: 0; }
.recipient-bank-modal-form input:focus,
.recipient-bank-modal-form select:focus { border-color: #b8873a; box-shadow: 0 0 0 3px rgba(184,135,58,.11); }
.recipient-bank-modal-wide { grid-column: 1 / -1; }
.recipient-bank-modal-active { grid-column: 1 / -1; display: flex !important; align-items: center; gap: 11px !important; min-height: 54px; padding: 11px 13px; border: 1px solid #ddd7cd; border-radius: 11px; background: #faf8f3; }
.recipient-bank-modal-active input { flex: 0 0 auto; width: 18px; height: 18px; }
.recipient-bank-modal-active span { display: block; }
.recipient-bank-modal-active strong,
.recipient-bank-modal-active small { display: block; }
.recipient-bank-modal-active small { margin-top: 3px; color: #758086; font-size: 10px; font-weight: 500; }
.recipient-bank-modal-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; gap: 9px; padding-top: 6px; }
.recipient-bank-modal-actions button { min-height: 40px; }
.recipient-bank-add-another[hidden] { display: none !important; }

@media (max-width: 1180px) {
    .recipient-bank-directory-head { align-items: flex-start; }
    .recipient-bank-directory-head-actions { width: 100%; min-width: 0; justify-items: start; }
    .recipient-bank-summary-chips { justify-content: flex-start; }
    .recipient-bank-filter-bar { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .recipient-bank-filter-search { grid-column: span 2; }
}
@media (max-width: 760px) {
    .recipient-bank-directory-head-actions,
    .recipient-bank-add-button { width: 100%; }
    .recipient-bank-filter-bar { grid-template-columns: 1fr 1fr; padding: 16px; }
    .recipient-bank-filter-search { grid-column: 1 / -1; }
    .recipient-bank-filter-clear { justify-content: flex-start; }
    .recipient-bank-filter-summary { align-items: flex-start; flex-direction: column; padding-inline: 16px; }
    .recipient-bank-country-groups { padding: 14px; }
    .recipient-bank-country-head { grid-template-columns: 42px minmax(0,1fr); padding: 14px; }
    .recipient-bank-country-code { width: 42px; height: 38px; }
    .recipient-bank-country-count { grid-column: 2; justify-items: start; display: flex; align-items: baseline; gap: 5px; }
    .recipient-bank-modal { align-items: end; padding: 10px; }
    .recipient-bank-modal-dialog { max-height: 94vh; border-radius: 20px 20px 12px 12px; }
    .recipient-bank-modal-head { padding: 20px 18px 16px; }
    .recipient-bank-modal-form { grid-template-columns: 1fr; padding: 18px; }
    .recipient-bank-modal-wide,
    .recipient-bank-modal-active,
    .recipient-bank-modal-actions { grid-column: auto; }
    .recipient-bank-modal-actions { display: grid; grid-template-columns: 1fr 1fr; }
    .recipient-bank-modal-actions .recipient-bank-add-another { grid-column: 1 / -1; grid-row: 1; }
}
@media (max-width: 480px) {
    .recipient-bank-summary-chips { display: grid; width: 100%; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .recipient-bank-summary-chips span { justify-content: center; padding-inline: 6px; }
    .recipient-bank-filter-bar { grid-template-columns: 1fr; }
    .recipient-bank-filter-search { grid-column: auto; }
    .recipient-bank-filter-bar .save-button { width: 100%; }
    .recipient-bank-modal-actions { grid-template-columns: 1fr; }
    .recipient-bank-modal-actions .recipient-bank-add-another { grid-column: auto; grid-row: auto; }
}

/* v2.17.75 — administrator order email and WhatsApp notifications */
.admin-order-notification-section { margin-top: 30px; padding-top: 28px; border-top: 1px solid #e5dfd4; }
.admin-order-notification-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.admin-order-notification-head h2 { margin: 7px 0 6px; color: #19333e; font: 800 24px Manrope,sans-serif; }
.admin-order-notification-head p { max-width: 780px; margin: 0; color: #65747b; font-size: 12px; line-height: 1.65; }
.admin-order-notification-summary { display: grid; grid-template-columns: repeat(3,minmax(76px,1fr)); flex: 0 0 auto; gap: 7px; }
.admin-order-notification-summary span { min-width: 78px; padding: 10px 11px; border: 1px solid #dce5e8; border-radius: 11px; background: #f6fafb; color: #5f6e74; text-align: center; font-size: 9px; font-weight: 800; text-transform: uppercase; letter-spacing: .6px; }
.admin-order-notification-summary strong { display: block; margin-bottom: 3px; color: #19333e; font: 800 19px Manrope,sans-serif; }
.admin-order-notification-summary .is-sent { border-color: #cde7da; background: #eef9f3; color: #34745a; }
.admin-order-notification-summary .is-failed { border-color: #efd0ce; background: #fff4f3; color: #a84c48; }
.admin-order-notification-form { display: grid; grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr); gap: 16px; }
.admin-order-channel-card { min-width: 0; padding: 20px; border: 1px solid #dfd9cf; border-radius: 16px; background: #fff; box-shadow: 0 10px 26px rgba(22,45,55,.045); }
.admin-order-email-card { align-self: start; background: linear-gradient(150deg,#fff 0%,#fbf8f1 100%); }
.admin-order-whatsapp-card { background: linear-gradient(150deg,#fff 0%,#f3fbf7 100%); }
.admin-order-channel-title { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 17px; }
.admin-order-channel-title > div { display: flex; align-items: center; min-width: 0; gap: 11px; }
.admin-order-channel-title strong,.admin-order-channel-title small { display: block; }
.admin-order-channel-title strong { color: #203840; font: 800 15px Manrope,sans-serif; }
.admin-order-channel-title small { margin-top: 3px; color: #758188; font-size: 10px; line-height: 1.45; }
.admin-order-channel-icon { display: grid; place-items: center; flex: 0 0 39px; width: 39px; height: 39px; border-radius: 12px; background: #17333e; color: #fff; font: 800 17px Manrope,sans-serif; }
.admin-order-channel-icon.whatsapp-icon { background: #1f9d63; }
.compact-toggle { flex: 0 0 auto; padding: 0 !important; background: transparent !important; border: 0 !important; }
.admin-order-recipient-field,.admin-order-whatsapp-grid label { display: grid; gap: 7px; min-width: 0; }
.admin-order-recipient-field > span,.admin-order-whatsapp-grid label > span { color: #35484f; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .55px; }
.admin-order-recipient-field textarea,.admin-order-whatsapp-grid input { width: 100%; min-width: 0; border: 1px solid #d9d3c8; border-radius: 10px; background: rgba(255,255,255,.92); color: #1d3038; font: 500 12px/1.55 DM Sans,sans-serif; outline: 0; }
.admin-order-recipient-field textarea { resize: vertical; min-height: 112px; padding: 11px 12px; }
.admin-order-whatsapp-grid input { min-height: 43px; padding: 0 11px; }
.admin-order-recipient-field textarea:focus,.admin-order-whatsapp-grid input:focus { border-color: #b88a45; box-shadow: 0 0 0 3px rgba(184,138,69,.11); }
.admin-order-recipient-field small,.admin-order-whatsapp-grid label > small { color: #7b868b; font-size: 9px; line-height: 1.5; }
.admin-order-channel-card > .record-toggle-button { margin-top: 13px; }
.admin-order-whatsapp-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.whatsapp-token-field { grid-column: 1 / -1; }
.whatsapp-template-contract { display: grid; gap: 7px; margin-top: 15px; padding: 13px; border: 1px solid #cfe6da; border-radius: 11px; background: rgba(237,249,243,.88); }
.whatsapp-template-contract strong { color: #28684e; font-size: 11px; }
.whatsapp-template-contract code { display: block; overflow-wrap: anywhere; color: #244038; font: 600 10px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; }
.whatsapp-template-contract small { color: #688078; font-size: 9px; line-height: 1.5; }
.admin-order-whatsapp-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 13px; }
.admin-order-whatsapp-actions .danger-check { margin-right: auto; }
.whatsapp-runtime-status { padding: 6px 9px; border-radius: 999px; font-size: 9px; font-weight: 800; }
.whatsapp-runtime-status.is-ready { background: #dff3e8; color: #287052; }
.whatsapp-runtime-status.is-missing { background: #fae1df; color: #9d4541; }
.admin-order-notification-save-row { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 17px; border: 1px solid #d8e2e5; border-radius: 13px; background: #f4f8f9; }
.admin-order-notification-save-row p { margin: 0; color: #627279; font-size: 10px; line-height: 1.55; }
.admin-order-notification-save-row code { color: #21434f; }
.admin-order-notification-form > .mail-security-note { grid-column: 1 / -1; margin: -5px 0 0; }
.admin-order-notification-log { margin-top: 23px; border: 1px solid #e1dbd1; border-radius: 15px; background: #fff; overflow: hidden; }
.admin-order-notification-log-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 16px 18px; border-bottom: 1px solid #ebe6dd; background: #faf8f3; }
.admin-order-notification-log-head strong,.admin-order-notification-log-head small { display: block; }
.admin-order-notification-log-head strong { color: #243a43; font-size: 13px; }
.admin-order-notification-log-head small { margin-top: 3px; color: #7b858a; font-size: 9px; }
.admin-order-notification-log-head > span { padding: 6px 9px; border-radius: 999px; background: #e8eff1; color: #486069; font-size: 9px; font-weight: 800; }
.admin-order-notification-empty { padding: 26px 18px; color: #7b858a; text-align: center; font-size: 11px; }
.admin-order-notification-table { min-width: 860px; margin: 0; }
.admin-order-notification-table td strong,.admin-order-notification-table td small { display: block; }
.admin-order-notification-table td small { margin-top: 3px; color: #78858a; font-size: 9px; line-height: 1.45; overflow-wrap: anywhere; }
.admin-order-channel-badge,.admin-order-delivery-status { display: inline-flex; align-items: center; width: fit-content; padding: 4px 7px; border-radius: 999px; font-size: 8px; font-weight: 900; letter-spacing: .45px; }
.admin-order-channel-badge.is-email { background: #e7eff6; color: #315f80; }
.admin-order-channel-badge.is-whatsapp { background: #dff4e9; color: #24724f; }
.admin-order-delivery-status.is-sent { background: #dff4e9; color: #24724f; }
.admin-order-delivery-status.is-pending,.admin-order-delivery-status.is-sending { background: #fff0ca; color: #8c6516; }
.admin-order-delivery-status.is-failed { background: #fae0de; color: #a24440; }
.admin-order-delivery-status.is-skipped { background: #ececef; color: #63666f; }
.admin-order-delivery-error { max-width: 250px; color: #a24440 !important; }

@media (max-width: 1100px) {
    .admin-order-notification-head { flex-direction: column; }
    .admin-order-notification-summary { width: 100%; }
    .admin-order-notification-form { grid-template-columns: 1fr; }
    .admin-order-notification-save-row,.admin-order-notification-form > .mail-security-note { grid-column: auto; }
}
@media (max-width: 640px) {
    .admin-order-notification-section { margin-top: 24px; padding-top: 22px; }
    .admin-order-notification-summary { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .admin-order-notification-summary span { min-width: 0; padding-inline: 6px; }
    .admin-order-channel-card { padding: 16px; }
    .admin-order-channel-title { align-items: flex-start; }
    .admin-order-whatsapp-grid { grid-template-columns: 1fr; }
    .whatsapp-token-field { grid-column: auto; }
    .admin-order-whatsapp-actions { align-items: stretch; flex-direction: column; }
    .admin-order-whatsapp-actions .danger-check { margin-right: 0; }
    .admin-order-notification-save-row { align-items: stretch; flex-direction: column; }
    .admin-order-notification-save-row .primary-button,.admin-order-channel-card > .record-toggle-button,.admin-order-whatsapp-actions .record-toggle-button { width: 100%; }
}


/* v2.17.76 — Store open/closed gate and customer callback reminders */
.store-closed-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(5,8,15,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:auto;overscroll-behavior:contain}
.store-closed-card{position:relative;z-index:1;width:min(680px,100%);margin:auto;padding:32px;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:rgba(16,20,31,.96);box-shadow:0 24px 70px rgba(0,0,0,.28);text-align:center;backdrop-filter:blur(18px)}
.store-closed-clock{font-size:44px;line-height:1;margin-bottom:12px}
.store-closed-card h1{margin:8px 0 10px;font-size:clamp(30px,5vw,46px)}
.store-closed-hours{display:block;font-size:18px;margin-bottom:10px}
.store-closed-card p{margin:0 auto 20px;max-width:560px;opacity:.82}.store-closed-message{white-space:normal;overflow-wrap:anywhere}.store-closed-overlay.is-dismissed{display:none}
.store-remind-button{display:inline-flex;align-items:center;justify-content:center;min-width:180px;margin-top:4px;text-decoration:none}
.store-closed-help{display:block;margin-top:12px;opacity:.7}
.store-closed-content{filter:saturate(.6);opacity:.58;pointer-events:none;user-select:none}
.store-closed-content .home-login-card{pointer-events:auto;opacity:1;filter:none;user-select:auto}
/* v2.17.94 — after guest taps Remind Me, keep the store locked but make login unmistakably active */
.store-closed-content.store-login-mode{filter:none;opacity:1;pointer-events:none;user-select:none}
.store-closed-content.store-login-mode > *{filter:saturate(.6);opacity:.58}
.store-closed-content.store-login-mode > .home-access-stack{filter:none;opacity:1}
.store-closed-content.store-login-mode .home-access-stack > *{filter:saturate(.6);opacity:.58;pointer-events:none;user-select:none}
.store-closed-content.store-login-mode .home-access-stack > .home-login-card{filter:none;opacity:1;pointer-events:auto;user-select:auto}
.store-is-closed .currency-strip{opacity:.45;pointer-events:none}
.store-closed-lock{border-color:rgba(255,183,77,.35)}
.store-availability-form{margin-top:22px;padding:22px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:20px}
.store-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.store-settings-grid label{display:grid;gap:8px}
.store-settings-grid input{width:100%}
.store-current-status{display:flex;align-items:center;gap:12px;margin:0 0 18px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.05)}
.store-current-status strong{font-size:12px;letter-spacing:.12em}
.store-current-status.is-open strong{color:#74d99f}
.store-current-status.is-closed strong{color:#ffb36b}
.settings-divider{border:0;border-top:1px solid var(--border,rgba(255,255,255,.12));margin:30px 0}
.admin-pending-work-columns{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-callback-item{display:flex;align-items:center;gap:10px}
.admin-callback-item>a{flex:1;min-width:0;text-decoration:none;color:inherit}
.admin-callback-item form{flex:0 0 auto}
.admin-callback-item .save-button{white-space:nowrap}
@media (max-width:980px){.admin-pending-work-columns{grid-template-columns:1fr}.store-settings-grid{grid-template-columns:1fr}}
@media (max-width:640px){.store-closed-overlay{padding:14px}.store-closed-card{padding:24px 18px;border-radius:22px}}

.store-closed-message-field{grid-column:1/-1}.store-closed-message-field textarea{width:100%;min-height:132px;resize:vertical;line-height:1.55}.store-closed-message-field small{display:block;margin-top:7px;opacity:.72}


.home-login-card.store-login-highlight{
    position:relative;
    z-index:3;
    animation:storeLoginHighlight 3.2s ease-out;
}
@keyframes storeLoginHighlight{
    0%,18%{
        box-shadow:0 0 0 4px rgba(255,183,77,.78),0 0 34px rgba(255,183,77,.42),0 24px 70px rgba(0,0,0,.24);
        transform:scale(1.012);
    }
    100%{
        box-shadow:inherit;
        transform:scale(1);
    }
}
@media (prefers-reduced-motion:reduce){
    .home-login-card.store-login-highlight{
        animation:none;
        outline:4px solid rgba(255,183,77,.78);
        outline-offset:4px;
    }
}


/* v2.17.94 — Highlight logged-in reminder CTA */
.remind-me-highlight {
  position: relative;
  z-index: 1;
  font-weight: 700;
  transform: translateZ(0);
  box-shadow: 0 0 0 0 rgba(255, 193, 7, .65);
  animation: remindMePulse 1.6s ease-out infinite;
}
.remind-me-highlight::after {
  content: "Click here";
  display: inline-block;
  margin-left: .55rem;
  padding: .12rem .42rem;
  border-radius: 999px;
  font-size: .72em;
  font-weight: 700;
  line-height: 1.35;
  background: rgba(255,255,255,.92);
  color: #222;
  vertical-align: middle;
}
.remind-me-highlight:hover,
.remind-me-highlight:focus-visible {
  animation: none;
  transform: translateY(-1px);
}
@keyframes remindMePulse {
  0%   { box-shadow: 0 0 0 0 rgba(255, 193, 7, .65); }
  70%  { box-shadow: 0 0 0 10px rgba(255, 193, 7, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 193, 7, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .remind-me-highlight { animation: none; }
}

/* v2.17.94 — Logged-out reminder CTA border */
.login-reminder-border {
  border: 1px solid #fff !important;
}


/* v2.17.94 — Admin layout care: Customer store availability + Email & WhatsApp notifications */
#settings .store-availability-head {
  max-width: 820px;
}
#settings .store-availability-head h2 {
  margin-bottom: 8px;
}
#settings .store-availability-head p {
  max-width: 760px;
  line-height: 1.65;
}
#settings .store-availability-form {
  display: grid;
  gap: 18px;
  margin-top: 20px;
  padding: 24px;
  overflow: hidden;
}
#settings .store-status-toggle {
  margin: 0;
  min-width: 0;
}
#settings .store-status-toggle > div {
  min-width: 0;
  padding-right: 12px;
}
#settings .store-status-toggle small {
  display: block;
  margin-top: 4px;
  line-height: 1.5;
}
#settings .store-settings-grid {
  gap: 18px;
  margin: 0;
}
#settings .store-settings-grid label {
  align-content: start;
  min-width: 0;
}
#settings .store-settings-grid input,
#settings .store-settings-grid textarea {
  box-sizing: border-box;
  max-width: 100%;
}
#settings .store-closed-message-field textarea {
  min-height: 140px;
}
#settings .store-availability-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  align-items: center;
  gap: 14px;
  padding-top: 2px;
}
#settings .store-availability-actions .store-current-status {
  min-width: 0;
  margin: 0;
}
#settings .store-current-status span {
  min-width: 0;
  overflow-wrap: anywhere;
}
#settings .store-availability-actions .primary-button {
  min-width: 170px;
  white-space: nowrap;
}

.admin-order-notification-section {
  min-width: 0;
}
.admin-order-notification-head {
  min-width: 0;
}
.admin-order-notification-head > div:first-child {
  min-width: 0;
  max-width: 760px;
}
.admin-order-notification-summary {
  align-self: flex-start;
}
.admin-order-notification-form {
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: start;
  gap: 18px;
}
.admin-order-channel-card {
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}
.admin-order-email-card,
.admin-order-whatsapp-card {
  align-self: stretch;
}
.admin-order-channel-title {
  min-height: 48px;
}
.admin-order-channel-title > div > div {
  min-width: 0;
}
.admin-order-channel-title small {
  overflow-wrap: anywhere;
}
.admin-order-recipient-field textarea,
.admin-order-whatsapp-grid input {
  box-sizing: border-box;
}
.admin-order-whatsapp-grid {
  align-items: start;
}
.admin-order-whatsapp-grid label {
  align-content: start;
}
.admin-order-whatsapp-grid input {
  max-width: 100%;
}
.admin-order-whatsapp-actions {
  row-gap: 12px;
}
.admin-order-notification-save-row {
  box-sizing: border-box;
}
.admin-order-notification-log {
  min-width: 0;
}
.admin-order-notification-log .table-scroll {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.admin-order-notification-table th,
.admin-order-notification-table td {
  vertical-align: top;
}
.admin-order-notification-table td {
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .admin-order-notification-form {
    grid-template-columns: 1fr;
  }
  .admin-order-email-card,
  .admin-order-whatsapp-card {
    align-self: auto;
  }
}
@media (max-width: 760px) {
  #settings .store-availability-form {
    padding: 18px;
    border-radius: 16px;
  }
  #settings .store-availability-actions {
    grid-template-columns: 1fr;
  }
  #settings .store-availability-actions .primary-button {
    width: 100%;
    min-width: 0;
  }
  .admin-order-notification-head {
    gap: 16px;
  }
  .admin-order-notification-summary {
    width: 100%;
  }
}
@media (max-width: 640px) {
  #settings .store-status-toggle {
    align-items: flex-start;
  }
  #settings .store-settings-grid {
    gap: 14px;
  }
  #settings .store-current-status {
    align-items: flex-start;
    flex-direction: column;
    gap: 5px;
  }
  .admin-order-notification-head h2 {
    font-size: 21px;
    line-height: 1.25;
  }
  .admin-order-notification-summary {
    gap: 6px;
  }
  .admin-order-notification-summary span {
    padding: 9px 5px;
  }
  .admin-order-channel-title {
    min-height: 0;
    gap: 10px;
  }
  .admin-order-channel-title > div {
    align-items: flex-start;
  }
  .admin-order-channel-icon {
    flex-basis: 36px;
    width: 36px;
    height: 36px;
  }
  .admin-order-channel-card {
    padding: 16px;
  }
  .admin-order-whatsapp-grid {
    gap: 14px;
  }
}
@media (max-width: 420px) {
  #settings .store-availability-form {
    padding: 15px;
  }
  .admin-order-notification-summary strong {
    font-size: 17px;
  }
  .admin-order-notification-summary span {
    font-size: 8px;
    letter-spacing: .35px;
  }
  .admin-order-channel-title {
    flex-wrap: wrap;
  }
  .admin-order-channel-title .compact-toggle {
    margin-left: auto;
  }
}



/* v2.17.94 — Fix Email & WhatsApp notifications full-width layout inside Mail settings grid */
#mail-settings > .admin-order-notification-section {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

#mail-settings > .admin-order-notification-section .admin-order-notification-head,
#mail-settings > .admin-order-notification-section .admin-order-notification-form,
#mail-settings > .admin-order-notification-section .admin-order-notification-log {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1101px) {
  #mail-settings > .admin-order-notification-section .admin-order-notification-form {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}



/* v2.17.94 — Manual identity review comparison workspace */
.face-review-comparison-grid {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr);
  gap: 18px;
  padding: 0 26px 26px;
  align-items: start;
}
.face-review-evidence-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e1e7e4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(19, 49, 42, .05);
}
.face-review-transaction-panel {
  position: sticky;
  top: 18px;
}
.face-review-evidence-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid #e7ece9;
}
.face-review-evidence-head > div {
  min-width: 0;
}
.face-review-evidence-head h2 {
  margin: 4px 0 0;
  color: #17332b;
  font-family: Manrope, sans-serif;
  font-size: 17px;
  line-height: 1.25;
}
.face-review-evidence-head a {
  flex: 0 0 auto;
  color: #196747;
  font-size: 11px;
  font-weight: 800;
  text-decoration: none;
  white-space: nowrap;
}
.face-review-evidence-badge {
  flex: 0 0 auto;
  padding: 6px 9px;
  border-radius: 999px;
  background: #ecf5f1;
  color: #176044;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .45px;
  text-transform: uppercase;
}
.face-review-comparison-grid .face-review-video {
  min-height: 520px;
  padding: 18px;
}
.face-review-comparison-grid .face-review-video video {
  max-height: 620px;
}
.face-review-kyc-column {
  display: grid;
  min-width: 0;
  gap: 18px;
}
.face-review-kyc-video {
  display: grid;
  place-items: center;
  min-height: 250px;
  padding: 14px;
  background: #10251f;
}
.face-review-kyc-video video {
  width: 100%;
  max-height: 340px;
  border-radius: 12px;
  background: #000;
}
.face-review-document {
  display: grid;
  place-items: center;
  min-height: 250px;
  padding: 14px;
  background: #f3f5f4;
}
.face-review-document img,
.face-review-document iframe {
  display: block;
  width: 100%;
  max-height: 360px;
  border: 0;
  border-radius: 12px;
  background: #fff;
  object-fit: contain;
}
.face-review-document iframe {
  height: 340px;
}
.face-review-evidence-meta {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 14px;
  border-top: 1px solid #e7ece9;
  color: #53645e;
}
.face-review-evidence-meta span {
  min-width: 0;
  overflow-wrap: anywhere;
  font-size: 10px;
  font-weight: 700;
}
.face-review-evidence-meta small {
  flex: 0 0 auto;
  color: #78837f;
  font-size: 9px;
  text-align: right;
}
.face-review-evidence-empty {
  display: grid;
  gap: 6px;
  min-height: 170px;
  place-content: center;
  padding: 24px;
  text-align: center;
  color: #697771;
  background: #f7f9f8;
}
.face-review-evidence-empty strong {
  color: #304a41;
  font-size: 13px;
}
.face-review-evidence-empty span {
  max-width: 340px;
  font-size: 11px;
  line-height: 1.5;
}

.face-review-details-toggle {
  margin: 0 26px 22px;
  border: 1px solid #dce5e1;
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.face-review-details-toggle > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 17px;
  cursor: pointer;
  list-style: none;
  color: #17332b;
  background: #f7faf8;
  user-select: none;
}
.face-review-details-toggle > summary::-webkit-details-marker {
  display: none;
}
.face-review-details-toggle > summary::after {
  content: "+";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #173f36;
  color: #fff;
  font-size: 18px;
  line-height: 1;
}
.face-review-details-toggle[open] > summary::after {
  content: "−";
}
.face-review-details-toggle > summary span {
  font-size: 12px;
  font-weight: 800;
}
.face-review-details-toggle > summary small {
  margin-left: auto;
  color: #728079;
  font-size: 10px;
}
.face-review-details-toggle .face-review-details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #e1e7e4;
}
.face-review-details-toggle .face-review-details > div {
  border-right: 1px solid #e8ecea;
  border-bottom: 1px solid #e8ecea;
}

@media (max-width: 900px) {
  .face-review-comparison-grid {
    grid-template-columns: 1fr;
  }
  .face-review-transaction-panel {
    position: static;
  }
  .face-review-details-toggle .face-review-details {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .face-review-comparison-grid {
    gap: 14px;
    padding: 0 16px 16px;
  }
  .face-review-comparison-grid .face-review-video {
    min-height: 280px;
    padding: 12px;
  }
  .face-review-kyc-video,
  .face-review-document {
    min-height: 220px;
    padding: 10px;
  }
  .face-review-evidence-head {
    padding: 14px;
  }
  .face-review-evidence-meta {
    flex-direction: column;
  }
  .face-review-evidence-meta small {
    text-align: left;
  }
  .face-review-details-toggle {
    margin: 0 16px 16px;
  }
  .face-review-details-toggle > summary small {
    display: none;
  }
  .face-review-details-toggle .face-review-details {
    grid-template-columns: 1fr;
  }
}



/* v2.17.94 — Automatic daily store schedule */
#settings .store-auto-schedule {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid #dce5e1;
  border-radius: 14px;
  background: #f8faf9;
}
#settings .store-schedule-toggle {
  margin: 0;
}
#settings .store-schedule-times {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
#settings .store-schedule-times label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
#settings .store-schedule-times label > span {
  color: #17332b;
  font-size: 12px;
  font-weight: 800;
}
#settings .store-schedule-times input[type="time"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  padding: 9px 11px;
  border: 1px solid #cfd9d5;
  border-radius: 10px;
  background: #fff;
}
#settings .store-schedule-times small,
#settings .store-schedule-note {
  color: #6b7974;
  font-size: 10px;
  line-height: 1.5;
}
#settings .store-schedule-note {
  margin: 0;
}
@media (max-width: 640px) {
  #settings .store-auto-schedule {
    padding: 15px;
  }
  #settings .store-schedule-times {
    grid-template-columns: 1fr;
  }
}



/* v2.17.94 — Enhanced Customer store availability workspace */
#settings .store-availability-shell {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}
#settings .store-availability-sidebar {
  display: grid;
  gap: 20px;
  min-width: 0;
}
#settings .store-availability-head {
  max-width: none;
}
#settings .store-availability-head h2 {
  margin: 6px 0 10px;
  font-size: 22px;
  line-height: 1.2;
  color: #f05b22;
}
#settings .store-availability-head p {
  margin: 0;
  max-width: none;
  line-height: 1.7;
}

#settings .store-help-card,
#settings .store-live-status-card {
  border: 1px solid #e7ded4;
  border-radius: 16px;
  background: #fffdfa;
  box-sizing: border-box;
}
#settings .store-help-card {
  display: grid;
  gap: 18px;
  padding: 20px;
}
#settings .store-help-title {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #17332b;
}
#settings .store-help-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid #ff7c3d;
  border-radius: 50%;
  color: #ff6a21;
  font-size: 12px;
  font-weight: 800;
}
#settings .store-help-item {
  display: grid;
  grid-template-columns: 34px minmax(0,1fr);
  gap: 12px;
  align-items: start;
}
#settings .store-help-bullet {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 10px;
  background: #eef8f3;
  color: #1c8a5e;
  font-size: 17px;
}
#settings .store-help-item:nth-of-type(3) .store-help-bullet {
  background: #f3effd;
  color: #6d50c4;
}
#settings .store-help-item:nth-of-type(4) .store-help-bullet {
  background: #eef5ff;
  color: #397bc4;
}
#settings .store-help-item div {
  display: grid;
  gap: 4px;
}
#settings .store-help-item strong {
  color: #17332b;
  font-size: 12px;
}
#settings .store-help-item span {
  color: #61706a;
  font-size: 10px;
  line-height: 1.55;
}

#settings .store-live-status-card {
  padding: 20px;
}
#settings .store-live-status-card > span {
  color: #486158;
  font-size: 11px;
  font-weight: 700;
}
#settings .store-live-status-card > strong {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 8px;
  color: #17332b;
  font-size: 24px;
}
#settings .store-live-status-card > strong i {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #bcc5c1;
}
#settings .store-live-status-card.is-open > strong i {
  background: #28a36a;
}
#settings .store-live-status-card small {
  color: #64736d;
  font-size: 10px;
  line-height: 1.5;
}

#settings .store-availability-form-v2 {
  display: grid;
  gap: 18px;
  min-width: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
#settings .store-control-card {
  box-sizing: border-box;
  border: 1px solid #e2e6e4;
  border-radius: 16px;
  background: #fff;
  padding: 20px;
}
#settings .store-manual-card {
  background: #fbfaf8;
}
#settings .store-auto-schedule {
  border-color: #d3eadf;
  background: linear-gradient(180deg, #fbfffd 0%, #f7fcf9 100%);
}
#settings .store-status-toggle,
#settings .store-schedule-toggle {
  margin: 0;
}
#settings .store-schedule-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
#settings .store-recommended-badge {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #dff3e8;
  color: #168254;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .4px;
  text-transform: uppercase;
}

#settings .store-schedule-time-panel {
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr);
  gap: 14px;
  align-items: end;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #d9eee3;
  border-radius: 14px;
  background: rgba(238, 249, 243, .72);
}
#settings .store-schedule-time-panel label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
#settings .store-schedule-time-panel label > span {
  color: #1b7b54;
  font-size: 11px;
  font-weight: 800;
}
#settings .store-schedule-time-panel input[type="time"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #d5ddd9;
  border-radius: 10px;
  background: #fff;
  color: #17332b;
  font-size: 14px;
}
#settings .store-schedule-time-panel small {
  color: #65746e;
  font-size: 9px;
  line-height: 1.45;
}
#settings .store-time-arrow {
  display: grid;
  place-items: center;
  height: 48px;
  color: #219867;
  font-size: 24px;
  font-weight: 700;
}
#settings .store-midnight-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 11px 13px;
  border: 1px solid #cce9da;
  border-radius: 10px;
  background: #eff9f4;
  color: #247a58;
}
#settings .store-midnight-note span {
  font-size: 17px;
}
#settings .store-midnight-note p {
  margin: 0;
  font-size: 10px;
  line-height: 1.5;
}

#settings .store-message-card {
  display: grid;
  gap: 18px;
}
#settings .store-field-block {
  display: grid;
  gap: 7px;
}
#settings .store-field-block > span {
  color: #17332b;
  font-size: 13px;
  font-weight: 800;
}
#settings .store-field-block > small {
  margin-top: -3px;
  color: #6b7873;
  font-size: 9px;
}
#settings .store-field-block input,
#settings .store-field-block textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid #cfd7d3;
  border-radius: 10px;
  background: #fff;
}
#settings .store-field-block input {
  min-height: 46px;
  padding: 10px 12px;
}
#settings .store-field-block textarea {
  min-height: 150px;
  padding: 12px;
  resize: vertical;
}
#settings .store-field-block em {
  color: #6f7c77;
  font-size: 9px;
  font-style: normal;
}

#settings .store-save-footer {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  border: 1px solid #d8ebe1;
  border-radius: 14px;
  background: #fbfffd;
}
#settings .store-save-summary {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
#settings .store-save-check {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #239866;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
#settings .store-save-summary > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}
#settings .store-save-summary strong {
  color: #17332b;
  font-size: 11px;
}
#settings .store-save-summary strong b {
  display: inline-flex;
  margin-left: 7px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #dff3e8;
  color: #168254;
  font-size: 8px;
  letter-spacing: .4px;
}
#settings .store-save-summary small {
  color: #65746e;
  font-size: 9px;
}
#settings .store-save-footer .primary-button {
  min-width: 170px;
  white-space: nowrap;
}

@media (max-width: 1050px) {
  #settings .store-availability-shell {
    grid-template-columns: 1fr;
  }
  #settings .store-availability-sidebar {
    grid-template-columns: minmax(0,1fr) minmax(280px, 360px);
    align-items: start;
  }
  #settings .store-availability-head {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  #settings .store-availability-sidebar {
    grid-template-columns: 1fr;
  }
  #settings .store-availability-head {
    grid-column: auto;
  }
  #settings .store-schedule-time-panel {
    grid-template-columns: 1fr;
  }
  #settings .store-time-arrow {
    height: auto;
    transform: rotate(90deg);
  }
  #settings .store-save-footer {
    grid-template-columns: 1fr;
  }
  #settings .store-save-footer .primary-button {
    width: 100%;
  }
}
@media (max-width: 520px) {
  #settings .store-control-card,
  #settings .store-help-card,
  #settings .store-live-status-card {
    padding: 15px;
  }
  #settings .store-schedule-time-panel {
    padding: 14px;
  }
}



/* v2.17.94 — Customer store availability full-width layout correction */
#settings.admin-card {
  min-width: 0;
}

#settings .store-availability-shell {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
}

#settings .store-availability-sidebar {
  width: 100%;
  min-width: 0;
  max-width: none;
}

#settings form.store-availability-form.store-availability-form-v2 {
  width: 100%;
  max-width: none;
  min-width: 0;
  justify-self: stretch;
  align-self: start;
  box-sizing: border-box;
}

#settings .store-availability-form-v2 > *,
#settings .store-control-card,
#settings .store-save-footer {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

#settings .store-control-card .setting-toggle {
  width: 100%;
  min-width: 0;
}

#settings .store-control-card .setting-toggle > div {
  min-width: 0;
  flex: 1 1 auto;
}

#settings .store-schedule-time-panel {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

#settings .store-message-card .store-field-block,
#settings .store-message-card input,
#settings .store-message-card textarea {
  width: 100%;
  max-width: none;
  min-width: 0;
  box-sizing: border-box;
}

@media (min-width: 1200px) {
  #settings .store-availability-shell {
    grid-template-columns: 340px minmax(0, 1fr);
  }
}

@media (max-width: 1050px) {
  #settings .store-availability-shell {
    grid-template-columns: 1fr;
  }
}



/* v2.17.94 — Root fix: store workspace must span both parent settings-card columns */
#settings.settings-card > .store-availability-shell {
  grid-column: 1 / -1;
  width: 100%;
  max-width: none;
  min-width: 0;
  justify-self: stretch;
}

#settings.settings-card > .store-availability-shell + .settings-divider {
  grid-column: 1 / -1;
  width: 100%;
  box-sizing: border-box;
}

/* Keep the intended internal desktop layout once the parent span is full width. */
@media (min-width: 1051px) {
  #settings.settings-card > .store-availability-shell {
    grid-template-columns: minmax(300px, 340px) minmax(0, 1fr);
  }
}

/* Stack cleanly when the admin viewport gets narrower. */
@media (max-width: 1050px) {
  #settings.settings-card > .store-availability-shell {
    grid-template-columns: 1fr;
  }
}



/* v2.17.94 — Optional automatic schedule date range */
#settings .store-schedule-date-panel {
  display: grid;
  gap: 14px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #d9eee3;
  border-radius: 14px;
  background: rgba(248,252,250,.9);
}
#settings .store-all-dates-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
#settings .store-all-dates-toggle input {
  width: 18px;
  height: 18px;
  accent-color: #218b60;
}
#settings .store-all-dates-toggle > span {
  display: grid;
  gap: 3px;
}
#settings .store-all-dates-toggle strong {
  color: #17332b;
  font-size: 12px;
}
#settings .store-all-dates-toggle small {
  color: #68766f;
  font-size: 9px;
}
#settings .store-schedule-date-grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr);
  gap: 14px;
  align-items: end;
  transition: opacity .15s ease;
}
#settings .store-schedule-date-grid.is-disabled {
  opacity: .45;
}
#settings .store-schedule-date-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
}
#settings .store-schedule-date-grid label > span {
  color: #1b7b54;
  font-size: 11px;
  font-weight: 800;
}
#settings .store-schedule-date-grid input[type="date"] {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #d5ddd9;
  border-radius: 10px;
  background: #fff;
  color: #17332b;
  font-size: 14px;
}
#settings .store-schedule-date-grid small {
  color: #65746e;
  font-size: 9px;
  line-height: 1.45;
}
@media (max-width: 760px) {
  #settings .store-schedule-date-grid {
    grid-template-columns: 1fr;
  }
}



/* v2.17.94 — Refined All dates layout */
#settings .store-schedule-date-panel {
  gap: 14px;
  padding: 18px;
  border: 1px solid #d8ebe1;
  background: linear-gradient(180deg, #fbfefc 0%, #f7fbf9 100%);
}

#settings .store-date-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

#settings .store-date-panel-head > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

#settings .store-date-kicker {
  color: #27825c;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .12em;
}

#settings .store-date-panel-head strong {
  color: #17332b;
  font-size: 13px;
  line-height: 1.3;
}

#settings .store-date-panel-head small {
  max-width: 620px;
  color: #697770;
  font-size: 9px;
  line-height: 1.5;
}

#settings .store-all-dates-toggle {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #d9e7e0;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease;
}

#settings .store-all-dates-toggle:hover {
  border-color: #bcd8ca;
  box-shadow: 0 6px 18px rgba(26, 83, 61, .05);
}

#settings .store-all-dates-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

#settings .store-all-dates-copy strong {
  color: #17332b;
  font-size: 12px;
  line-height: 1.3;
}

#settings .store-all-dates-copy small {
  color: #68766f;
  font-size: 9px;
  line-height: 1.5;
}

/* Custom switch that visually matches the other admin toggles. */
#settings .store-all-dates-toggle input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  width: 42px;
  height: 24px;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: #cfd6d3;
  cursor: pointer;
  transition: background .16s ease;
  flex: 0 0 auto;
}

#settings .store-all-dates-toggle input[type="checkbox"]::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 1px 4px rgba(21, 53, 42, .22);
  transition: transform .16s ease;
}

#settings .store-all-dates-toggle input[type="checkbox"]:checked {
  background: #26815d;
}

#settings .store-all-dates-toggle input[type="checkbox"]:checked::after {
  transform: translateX(18px);
}

#settings .store-all-dates-toggle:has(input[type="checkbox"]:checked) {
  border-color: #bfe0d0;
  background: #f5fbf8;
}

#settings .store-date-range-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-top: 2px;
}

#settings .store-date-range-label span {
  color: #17332b;
  font-size: 11px;
  font-weight: 800;
}

#settings .store-date-range-label small {
  color: #77837e;
  font-size: 9px;
}

#settings .store-schedule-date-grid {
  padding-top: 2px;
}

#settings .store-schedule-date-grid.is-disabled {
  opacity: .38;
  filter: grayscale(.15);
}

@media (max-width: 640px) {
  #settings .store-all-dates-toggle {
    padding: 13px 14px;
  }
  #settings .store-date-range-label {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}



/* v2.17.94 — Invitation Subscriptions */
.invitation-admin-main { min-width: 0; }
.invitation-stats-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.invitation-stats-grid article {
  padding: 18px 20px;
  border: 1px solid #e3e7e4;
  border-radius: 16px;
  background: #fff;
}
.invitation-stats-grid span { display:block; color:#6d7b75; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.invitation-stats-grid strong { display:block; margin-top:6px; color:#17332b; font-size:28px; }
.invitation-create-card,
.invitation-batch-card,
.invitation-history-card { margin-bottom: 20px; }
.invitation-create-form {
  display:grid;
  gap:16px;
  padding:22px;
  border-top:1px solid #ece9e3;
}
.invitation-create-form label { display:grid; gap:8px; }
.invitation-create-form label > span { color:#17332b; font-size:12px; font-weight:800; }
.invitation-create-form textarea {
  box-sizing:border-box;
  width:100%;
  min-height:170px;
  padding:14px;
  border:1px solid #d8ddd9;
  border-radius:12px;
  resize:vertical;
}
.invitation-create-form small { color:#6d7974; font-size:10px; line-height:1.5; }
.invitation-create-actions { display:flex; justify-content:flex-end; gap:10px; flex-wrap:wrap; }
.invitation-generated-list { display:grid; gap:1px; border-top:1px solid #ece9e3; background:#ece9e3; }
.invitation-generated-list article {
  display:grid;
  grid-template-columns:minmax(220px,.8fr) minmax(260px,1.5fr) auto;
  gap:12px;
  align-items:center;
  padding:15px 18px;
  background:#fff;
}
.invitation-generated-list article > div { display:grid; gap:4px; min-width:0; }
.invitation-generated-list strong { overflow-wrap:anywhere; color:#17332b; font-size:12px; }
.invitation-generated-list small { color:#9b4338; font-size:9px; line-height:1.4; overflow-wrap:anywhere; }
.invitation-generated-list input {
  box-sizing:border-box;
  width:100%;
  min-width:0;
  padding:9px 10px;
  border:1px solid #d9dedb;
  border-radius:9px;
  background:#f8faf9;
  font-size:10px;
}
.invitation-mail-state { width:max-content; padding:4px 7px; border-radius:999px; font-size:8px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.invitation-mail-state.is-sent { color:#176346; background:#e6f4ed; }
.invitation-mail-state.is-failed { color:#9b4338; background:#f8e9e5; }
.invitation-history-head { gap:18px; }
.invitation-filter-form { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.invitation-filter-form input,
.invitation-filter-form select {
  min-height:38px;
  border:1px solid #d8ddd9;
  border-radius:9px;
  padding:0 10px;
  background:#fff;
}
.invitation-table { min-width: 1180px; }
.invitation-table td { vertical-align:top; }
.invitation-table td strong,
.invitation-table td small { display:block; }
.invitation-table td small { margin-top:4px; color:#6d7974; font-size:9px; line-height:1.4; max-width:260px; overflow-wrap:anywhere; }
.invitation-status { display:inline-flex; padding:5px 8px; border-radius:999px; font-size:8px; font-weight:900; letter-spacing:.05em; }
.invitation-status.is-invited { color:#7b5a24; background:#f8efd9; }
.invitation-status.is-opened { color:#246b7b; background:#e4f2f5; }
.invitation-status.is-subscribed { color:#176346; background:#e6f4ed; }
.invitation-status.is-disabled { color:#7a6f6b; background:#efefed; }
.invitation-pagination { display:flex; justify-content:center; align-items:center; gap:14px; padding:16px; border-top:1px solid #ece9e3; }
.invitation-pagination a { color:#176346; font-weight:800; text-decoration:none; }

.invitation-public-page {
  margin:0;
  min-height:100vh;
  background:linear-gradient(180deg,#f7f3eb 0%,#f2f5f3 100%);
  color:#17332b;
  font-family:"DM Sans",sans-serif;
}
.invitation-public-shell {
  box-sizing:border-box;
  width:min(100% - 28px,620px);
  margin:0 auto;
  padding:54px 0;
}
.invitation-public-brand { display:block; width:max-content; margin:0 auto 24px; }
.invitation-public-brand img { display:block; width:150px; max-height:58px; object-fit:contain; }
.invitation-public-card {
  padding:36px;
  border:1px solid #e1e5e2;
  border-radius:22px;
  background:#fff;
  box-shadow:0 20px 60px rgba(26,48,39,.08);
  text-align:center;
}
.invitation-public-kicker { display:block; color:#b67b33; font-size:10px; font-weight:900; letter-spacing:.14em; }
.invitation-public-card h1 { margin:10px 0 12px; font-family:Manrope,sans-serif; font-size:28px; }
.invitation-public-card p { margin:0 auto 20px; max-width:480px; color:#66746e; line-height:1.65; }
.invitation-public-card p strong { color:#17332b; }
.invitation-public-note {
  display:grid;
  gap:5px;
  margin:22px 0;
  padding:15px 16px;
  border:1px solid #dce9e2;
  border-radius:12px;
  background:#f7fbf9;
  text-align:left;
}
.invitation-public-note strong { font-size:11px; }
.invitation-public-note span { color:#68766f; font-size:10px; line-height:1.55; }
.invitation-public-form { margin-top:20px; }
.invitation-public-action { display:inline-flex; justify-content:center; min-width:190px; text-decoration:none; }
.invitation-public-privacy { display:block; margin-top:15px; color:#7b8681; font-size:9px; line-height:1.5; }
.invitation-public-success-icon {
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 auto 14px;
  border-radius:50%;
  background:#e5f5ec;
  color:#1c8058;
  font-size:25px;
  font-weight:900;
}
@media (max-width:760px) {
  .invitation-stats-grid { grid-template-columns:1fr; }
  .invitation-generated-list article { grid-template-columns:1fr; }
  .invitation-create-actions { flex-direction:column; }
  .invitation-create-actions button { width:100%; }
  .invitation-filter-form { width:100%; }
  .invitation-filter-form input,
  .invitation-filter-form select,
  .invitation-filter-form button { width:100%; }
}
@media (max-width:520px) {
  .invitation-public-shell { padding:28px 0; }
  .invitation-public-card { padding:26px 20px; border-radius:18px; }
  .invitation-public-card h1 { font-size:24px; }
}


.invitation-row-actions { display:flex; flex-wrap:wrap; gap:6px; min-width:220px; }
.invitation-row-actions form { margin:0; }
.invitation-row-actions button { white-space:nowrap; }

/* v2.17.96 — Invitation mail template editor */
.invitation-template-card { margin-bottom:20px; overflow:hidden; }
.invitation-template-form {
  display:grid;
  gap:16px;
  padding:22px;
  border-top:1px solid #ece9e3;
}
.invitation-template-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.invitation-template-grid label { display:grid; gap:7px; }
.invitation-template-grid label.is-wide { grid-column:1 / -1; }
.invitation-template-grid label > span {
  color:#17332b;
  font-size:11px;
  font-weight:800;
}
.invitation-template-grid input,
.invitation-template-grid textarea {
  box-sizing:border-box;
  width:100%;
  border:1px solid #d8ddd9;
  border-radius:10px;
  background:#fff;
  padding:10px 11px;
  font:inherit;
  font-size:11px;
}
.invitation-template-grid textarea { resize:vertical; line-height:1.5; }
.invitation-template-actions {
  display:flex;
  justify-content:flex-end;
  gap:10px;
}
.invitation-template-reset {
  display:flex;
  justify-content:flex-end;
  padding:0 22px 20px;
}
.invitation-template-card code {
  padding:2px 5px;
  border-radius:5px;
  background:#f1f4f2;
  color:#1d6c4e;
  font-size:10px;
}
.invitation-template-preview {
  margin:0 22px 22px;
  border:1px solid #dfe5e1;
  border-radius:14px;
  overflow:hidden;
  background:#f6f4ef;
}
.invitation-template-preview-head {
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border-bottom:1px solid #dfe5e1;
  background:#fff;
}
.invitation-template-preview-head span { font-size:10px; font-weight:900; color:#17332b; text-transform:uppercase; letter-spacing:.06em; }
.invitation-template-preview-head small { color:#7a8580; font-size:9px; }
.invitation-template-preview-email {
  width:min(100% - 24px,580px);
  margin:20px auto;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 28px rgba(30,53,44,.08);
}
.invitation-template-preview-subject {
  padding:10px 14px;
  background:#fff;
  border-bottom:1px solid #ecece8;
  color:#56635e;
  font-size:10px;
}
.invitation-template-preview-hero {
  display:grid;
  gap:7px;
  padding:20px;
  background:#0d2028;
  color:#fff;
}
.invitation-template-preview-hero small { color:#e5c993; font-size:8px; letter-spacing:.12em; }
.invitation-template-preview-hero strong { font-size:20px; }
.invitation-template-preview-body {
  padding:22px;
  background:#fff;
}
.invitation-template-preview-body p {
  margin:0 0 14px;
  color:#5f6e68;
  font-size:11px;
  line-height:1.55;
  white-space:pre-line;
}
.invitation-template-preview-button {
  display:inline-block;
  margin:4px 0 16px;
  padding:10px 16px;
  border-radius:8px;
  background:#1f7a57;
  color:#fff;
  font-size:10px;
  font-weight:800;
}
.invitation-template-preview-body > small {
  display:block;
  color:#78847f;
  font-size:9px;
  line-height:1.45;
  white-space:pre-line;
}
@media (max-width:700px) {
  .invitation-template-grid { grid-template-columns:1fr; }
  .invitation-template-grid label.is-wide { grid-column:auto; }
  .invitation-template-actions,
  .invitation-template-reset { justify-content:stretch; }
  .invitation-template-actions button,
  .invitation-template-reset button { width:100%; }
  .invitation-template-preview-head { flex-direction:column; }
}

/* v2.17.96 — Advanced Invitation HTML Template */
.invitation-html-template-card {
  margin-bottom:20px;
  overflow:hidden;
}
.invitation-html-template-form {
  display:grid;
  gap:18px;
  padding:22px;
  border-top:1px solid #ece9e3;
}
.invitation-html-mode-toggle {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  padding:14px 16px;
  border:1px solid #d9e7e0;
  border-radius:12px;
  background:#f8fcfa;
}
.invitation-html-mode-toggle > span {
  display:grid;
  gap:4px;
}
.invitation-html-mode-toggle strong {
  color:#17332b;
  font-size:12px;
}
.invitation-html-mode-toggle small {
  color:#6c7973;
  font-size:9px;
  line-height:1.45;
}
.invitation-html-mode-toggle input[type="checkbox"] {
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  width:42px;
  height:24px;
  margin:0;
  border:0;
  border-radius:999px;
  background:#cfd6d3;
  cursor:pointer;
  transition:background .16s ease;
}
.invitation-html-mode-toggle input[type="checkbox"]::after {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(21,53,42,.22);
  transition:transform .16s ease;
}
.invitation-html-mode-toggle input[type="checkbox"]:checked { background:#26815d; }
.invitation-html-mode-toggle input[type="checkbox"]:checked::after { transform:translateX(18px); }

.invitation-html-placeholders {
  display:grid;
  gap:9px;
  padding:14px 16px;
  border:1px solid #e4e7e5;
  border-radius:12px;
  background:#fbfcfb;
}
.invitation-html-placeholders > strong {
  color:#17332b;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.invitation-html-placeholders > div {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.invitation-html-placeholders code {
  padding:5px 7px;
  border-radius:6px;
  background:#eef5f1;
  color:#1e7453;
  font-size:9px;
}
.invitation-html-placeholders > small {
  color:#6e7974;
  font-size:9px;
}
.invitation-html-editor-label {
  display:grid;
  gap:8px;
}
.invitation-html-editor-label > span {
  color:#17332b;
  font-size:11px;
  font-weight:800;
}
.invitation-html-editor-label textarea {
  box-sizing:border-box;
  width:100%;
  min-height:520px;
  padding:14px;
  border:1px solid #ccd5d0;
  border-radius:12px;
  background:#111b17;
  color:#e9f3ee;
  font-family:Consolas,Monaco,"Courier New",monospace;
  font-size:11px;
  line-height:1.55;
  resize:vertical;
  tab-size:2;
}
.invitation-html-editor-label > small {
  color:#6e7974;
  font-size:9px;
  line-height:1.45;
}
.invitation-html-preview {
  margin:0 22px 22px;
  overflow:hidden;
  border:1px solid #dfe5e1;
  border-radius:14px;
  background:#f5f4ef;
}
.invitation-html-preview iframe {
  display:block;
  width:100%;
  height:620px;
  border:0;
  background:#fff;
}
@media (max-width:700px) {
  .invitation-html-mode-toggle {
    grid-template-columns:minmax(0,1fr) auto;
  }
  .invitation-html-editor-label textarea {
    min-height:420px;
  }
  .invitation-html-preview iframe {
    height:520px;
  }
}


/* v2.17.97 — Invitation confirmation CTA fix */
.invitation-public-form {
  display: flex;
  justify-content: center;
  width: 100%;
}

.invitation-public-form .invitation-public-action {
  width: auto;
  min-width: 100%;
  max-width: 100%;
  padding: 18px 28px;
  border: 0;
  border-radius: 10px;
  cursor: pointer;
  line-height: 1.2;
  box-sizing: border-box;
  flex: 0 0 auto;
}

.invitation-public-card > .invitation-public-action {
  width: auto;
  min-width: 100%;
  max-width: 100%;
  padding-top: 18px;
  box-sizing: border-box;
}

@media (max-width: 520px) {
  .invitation-public-form .invitation-public-action,
  .invitation-public-card > .invitation-public-action {
    width: 100%;
    min-width: 0;
  }
}

