/*!
 * /**
 * * @file client-rspack.js
 * * @description No code generated
 * * --------------------------------------------------------------------------
 * * ⚡ Rspack Client App (Development)
 * * --------------------------------------------------------------------------
 * * • [   client-entry.js ] ──▶ [■ client-rspack.js ] ──▶ [   client-meteor.js ]
 * *
 * * This file is empty because `meteor.mainModule.client` is not set in package.json.
 * *
 * * ⚠️ Note: This file is autogenerated. It is not meant to be modified manually.
 * * These files also act as a cache: they can be safely removed and will be
 * * regenerated on the next build. They should be ignored in IDE suggestions
 * * and version control.
 * * /
 *
 *
 *
 */

.offline-banner[data-v-03febf72] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: calc(var(--safe-top) + 6px) 16px 8px;
  background: rgba(185, 28, 28, 0.93);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.offline-icon[data-v-03febf72] {
  font-size: 17px;
  flex-shrink: 0;
}
.offline-text[data-v-03febf72] {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.offline-badge[data-v-03febf72] {
  background: rgba(255, 255, 255, 0.22);
  border-radius: 10px;
  padding: 2px 8px;
  font-size: 12px;
  font-weight: 700;
  flex-shrink: 0;
}



.menu-section[data-v-7e7f993a] {
  padding: 24px 16px 0;
}
.menu-label[data-v-7e7f993a] {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 10px 4px;
}
.menu-list[data-v-7e7f993a] {
  background: var(--menu-list-bg);
  border: 1px solid var(--menu-list-border);
  border-radius: 16px;
  overflow: hidden;
}
.menu-item[data-v-7e7f993a] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 15px 16px;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--menu-item-divider);
  color: var(--menu-item-color);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  text-align: left;
  transition: background 0.15s;
}
.menu-item[data-v-7e7f993a]:last-child {
  border-bottom: none;
}
.menu-item[data-v-7e7f993a]:active {
  background: rgba(255, 255, 255, 0.08);
}
.menu-icon[data-v-7e7f993a] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  background: rgba(26, 86, 219, 0.2);
  border-radius: 9px;
  font-size: 18px;
  color: #60a5fa;
  flex-shrink: 0;
}
.menu-chevron[data-v-7e7f993a] {
  margin-left: auto;
  color: var(--menu-chevron);
  font-size: 16px;
}
.menu-badge[data-v-7e7f993a] {
  margin-left: auto;
  background: #ef4444;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  min-width: 20px;
  height: 20px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
}
.menu-footer[data-v-7e7f993a] {
  padding: 16px;
  padding-bottom: calc(var(--safe-bottom) + 24px);
  border-top: 1px solid var(--menu-footer-border);
}
.logout-btn[data-v-7e7f993a] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  background: rgba(220, 38, 38, 0.12);
  border: 1px solid rgba(220, 38, 38, 0.2);
  border-radius: 14px;
  color: #f87171;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.logout-btn[data-v-7e7f993a]:active {
  background: rgba(220, 38, 38, 0.2);
}
.logout-btn ion-icon[data-v-7e7f993a] {
  font-size: 20px;
}
.signin-btn[data-v-7e7f993a] {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 14px 16px;
  background: rgba(26, 86, 219, 0.12);
  border: 1px solid rgba(26, 86, 219, 0.3);
  border-radius: 14px;
  color: #60a5fa;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s;
}
.signin-btn[data-v-7e7f993a]:active {
  background: rgba(26, 86, 219, 0.2);
}
.signin-btn ion-icon[data-v-7e7f993a] {
  font-size: 20px;
}
.menu-user-card[data-v-7e7f993a] {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 20px 18px;
  padding-top: calc(var(--safe-top) + 16px);
  background: var(--menu-card-bg);
  border-bottom: 1px solid var(--menu-card-border);
}
.menu-avatar[data-v-7e7f993a] {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  overflow: hidden;
}
.menu-avatar-btn[data-v-7e7f993a] {
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.15s, box-shadow 0.15s;
}
.menu-avatar-btn[data-v-7e7f993a]:active {
  opacity: 0.75;
  box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.35);
}
.avatar-img[data-v-7e7f993a] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.avatar-initials[data-v-7e7f993a],
.avatar-guest[data-v-7e7f993a] {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.03em;
}
.avatar-guest[data-v-7e7f993a] {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 22px;
}
.menu-user-info[data-v-7e7f993a] {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.menu-user-name[data-v-7e7f993a] {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.menu-user-email[data-v-7e7f993a] {
  font-size: 12px;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.menu-signin-link[data-v-7e7f993a] {
  background: none;
  border: none;
  padding: 0;
  font-size: 12px;
  color: #60a5fa;
  cursor: pointer;
  text-align: left;
}



ion-modal[data-v-4e14e580] {
  --background: rgba(14, 18, 32, 0.98);
  --backdrop-opacity: 0.6;
  --border-radius: 24px 24px 0 0;
}
.sheet[data-v-4e14e580] {
  height: 100%;
  overflow-y: auto;
}
.sheet-content[data-v-4e14e580] {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 20px calc(20px + var(--safe-bottom, 0px));
}
.hero[data-v-4e14e580] {
  text-align: center;
}
.title[data-v-4e14e580] {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0 0 6px;
}
.subtitle[data-v-4e14e580] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.6);
  margin: 0;
  line-height: 1.4;
}
.benefits[data-v-4e14e580] {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.benefits li[data-v-4e14e580] {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
}
.benefit-icon[data-v-4e14e580] {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(26, 86, 219, 0.3), rgba(8, 145, 178, 0.2));
  flex-shrink: 0;
}
.benefit-icon ion-icon[data-v-4e14e580] {
  font-size: 20px;
  color: #60a5fa;
}
.tos-wrap[data-v-4e14e580] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.tos-row[data-v-4e14e580] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  line-height: 1.5;
}
.tos-row input[type="checkbox"][data-v-4e14e580] {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: #1a56db;
  cursor: pointer;
  border-radius: 4px;
}
.btn-wrap[data-v-4e14e580] {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sign-btn[data-v-4e14e580] {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  padding: 14px 20px;
  border-radius: 14px;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.15s;
}
.sign-btn[data-v-4e14e580]:active:not(:disabled) {
  transform: scale(0.97);
}
.sign-btn[data-v-4e14e580]:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
.google-btn[data-v-4e14e580] {
  background: #fff;
  color: #1e293b;
}
.apple-btn[data-v-4e14e580] {
  background: #000;
  color: #fff;
}
.provider-logo[data-v-4e14e580] {
  width: 24px;
  height: 24px;
  object-fit: contain;
  flex-shrink: 0;
}



.full-page-modal-toolbar[data-v-3e4e9110] {
  --background: var(--ion-background-color, #000);
  --color: #fff;
  --opacity: 1;
}
.full-page-modal-content[data-v-3e4e9110] {
  --background: var(--ion-background-color, #000);
  background: var(--ion-background-color, #000);
}
.full-page-modal-content.has-footer[data-v-3e4e9110] {
  --padding-bottom: 110px;
}
.full-page-modal-footer[data-v-3e4e9110] {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10;
  padding: 12px 16px 16px;
}



ion-modal.full-page-modal {
  --background: #0a0a0a;
  --backdrop-opacity: 1;
}
ion-modal.full-page-modal::part(content) {
  background: #0a0a0a;
}
ion-modal.full-page-modal::part(backdrop) {
  background: #000;
  opacity: 1;
}
ion-modal.full-page-modal .full-page-modal-footer {
  background: rgba(10, 10, 10, 0.96) !important;
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.55);
}



.activation-card[data-v-c73921ca] {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* hero */
.activation-hero[data-v-c73921ca] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  padding: 20px 12px 8px;
}
.activation-hero-img-wrap[data-v-c73921ca] {
  width: 120px;
  height: 120px;
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}
.activation-hero-img[data-v-c73921ca] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.activation-hero-fallback[data-v-c73921ca] {
  width: 120px;
  height: 120px;
  border-radius: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(234, 88, 12, 0.4), rgba(217, 119, 6, 0.3));
}
.activation-hero-fallback ion-icon[data-v-c73921ca] {
  font-size: 56px;
  color: #fff;
}
.activation-title[data-v-c73921ca] {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  margin: 4px 0 0;
}
.activation-subtitle[data-v-c73921ca] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  line-height: 1.5;
  max-width: 30ch;
}

/* chips */
.activation-chips[data-v-c73921ca] {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  padding: 12px 14px;
}
.chip-row[data-v-c73921ca] {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  font-size: 13px;
}
.chip-label[data-v-c73921ca] {
  color: rgba(255, 255, 255, 0.5);
  flex-shrink: 0;
}
.chip-value[data-v-c73921ca] {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
  text-align: right;
  word-break: break-word;
}
.chip-value-code[data-v-c73921ca] {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.65);
}

/* receipts */
.receipts-block[data-v-c73921ca] {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.receipts-sensibilization[data-v-c73921ca] {
  margin: 0;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.6;
}
.receipts-gallery[data-v-c73921ca] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}
.receipt-thumb-wrap[data-v-c73921ca] {
  position: relative;
  width: 100%;
  padding-top: 100%; /* 1:1 fallback per WebView < aspect-ratio support */
  border-radius: 12px;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
.receipt-thumb[data-v-c73921ca] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.receipt-thumb-remove[data-v-c73921ca] {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 24px;
  height: 24px;
  background: rgba(0, 0, 0, 0.55);
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}
.receipt-thumb-remove ion-icon[data-v-c73921ca] {
  font-size: 20px;
  color: #fff;
}

/* gdpr */
.gdpr-notice[data-v-c73921ca] {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 12px;
  padding: 12px 14px;
  cursor: pointer;
}
.gdpr-checkbox[data-v-c73921ca] {
  margin-top: 2px;
  flex-shrink: 0;
}
.gdpr-text[data-v-c73921ca] {
  font-size: 12px;
  color: rgba(255, 255, 255, 0.7);
  line-height: 1.55;
}

/* CTA */
.offline-hint[data-v-c73921ca] {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(234, 88, 12, 0.12);
  border: 1px solid rgba(251, 146, 60, 0.3);
  border-radius: 12px;
  padding: 10px 14px;
  font-size: 13px;
  color: #fb923c;
  margin: 0;
}
.offline-hint ion-icon[data-v-c73921ca] {
  font-size: 18px;
  flex-shrink: 0;
}



.failure-modal-content[data-v-048ebece] {
  --background: rgba(18, 18, 28, 0.96);
}
.failure-modal[data-v-048ebece] {
  padding: 24px 20px 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: #fff;
}
.failure-icon-wrap[data-v-048ebece] {
  align-self: center;
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(220, 38, 38, 0.18);
}
.failure-icon[data-v-048ebece] {
  font-size: 36px;
  color: #f87171;
}
.failure-title[data-v-048ebece] {
  font-size: 20px;
  font-weight: 800;
  text-align: center;
  margin: 4px 0 0;
}
.failure-description[data-v-048ebece] {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  margin: 0;
  line-height: 1.5;
}
.failure-context[data-v-048ebece] {
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 14px;
  padding: 12px 14px;
  margin: 6px 0 0;
}
.failure-context > div[data-v-048ebece] {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13px;
}
.failure-context dt[data-v-048ebece] {
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
.failure-context dd[data-v-048ebece] {
  color: rgba(255, 255, 255, 0.92);
  font-weight: 600;
  margin: 0;
  text-align: right;
  word-break: break-word;
}
.failure-textarea[data-v-048ebece] {
  --background: rgba(255, 255, 255, 0.04);
  --color: #fff;
  --border-radius: 12px;
  margin-top: 4px;
}



.activation-scroll-padding[data-v-facb189c] {
  padding: 16px;
}
.activation-cta[data-v-facb189c] {
  --background: var(--junction-activation-primary, var(--ion-color-warning));
  --background-activated: var(--junction-activation-primary, var(--ion-color-warning));
  --background-focused: var(--junction-activation-primary, var(--ion-color-warning));
  --background-hover: var(--junction-activation-primary, var(--ion-color-warning));
  --color: #1a1a1a;
  --color-activated: #1a1a1a;
  --color-focused: #1a1a1a;
  --color-hover: #1a1a1a;
  --opacity: 1;
  font-weight: 700;
  --border-radius: 14px;
  height: 52px;
  margin: 0;
}
.activation-cta.button-disabled[data-v-facb189c] {
  --background: rgba(234, 88, 12, 0.35);
  --color: rgba(26, 26, 26, 0.55);
  opacity: 1;
}



.filiera-scroll[data-v-a7094264] {
  padding: 16px;
}
.box-title[data-v-a7094264] {
  margin-bottom: 16px;
}
.auth-text[data-v-a7094264] {
  font-size: 16px;
  line-height: 1.5;
  color: var(--ion-text-color, #fff);
}
.product-swiper[data-v-a7094264] {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 16px;
}
.product-swiper-img[data-v-a7094264] {
  width: 100%;
  display: block;
}
.markdown-body[data-v-a7094264] {
  margin-bottom: 16px;
  color: var(--ion-text-color, #fff);
}
.section-label[data-v-a7094264] {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  opacity: 0.6;
  margin: 20px 0 8px;
}
.metadata-group[data-v-a7094264] {
  border-radius: 12px;
  overflow: hidden;
}
.box-metadata-cta[data-v-a7094264] {
  margin-top: 16px;
  font-size: 14px;
  opacity: 0.85;
}



.sheet-body[data-v-f79a6b8c] {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px 20px 32px;
  background: #0a0a0a;
  min-height: 100%;
  color: rgba(255, 255, 255, 0.9);
}
.sheet-header[data-v-f79a6b8c] { text-align: center;
}
.sheet-title[data-v-f79a6b8c] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}
.sheet-subtitle[data-v-f79a6b8c] {
  margin: 6px 0 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.5;
}
.sheet-loading[data-v-f79a6b8c] {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  padding: 32px 0;
  color: rgba(255, 255, 255, 0.65);
}
.sheet-qr[data-v-f79a6b8c] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 18px;
  padding: 20px;
}
.qr-canvas[data-v-f79a6b8c] {
  background: #fff;
  border-radius: 12px;
  padding: 8px;
}
.qr-code-mono[data-v-f79a6b8c] {
  margin: 0;
  font-family: Menlo, Consolas, monospace;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.75);
  word-break: break-all;
  text-align: center;
}
.qr-ttl[data-v-f79a6b8c] {
  margin: 0;
  font-size: 12px;
  color: rgba(255, 255, 255, 0.55);
}
.sheet-actions[data-v-f79a6b8c] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}



ion-modal.transfer-sheet::part(content) {
  background: #0a0a0a;
}
ion-modal.transfer-sheet::part(handle) {
  background: rgba(255, 255, 255, 0.3);
}



.sheet-body[data-v-3bac6480] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px 20px 32px;
  background: #0a0a0a;
  min-height: 100%;
  color: rgba(255, 255, 255, 0.9);
}
.sheet-header[data-v-3bac6480] { text-align: center;
}
.sheet-title[data-v-3bac6480] {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  color: #fff;
}
.sheet-subtitle[data-v-3bac6480] {
  margin: 6px 0 0;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.65);
  line-height: 1.5;
}
.receiver-instructions[data-v-3bac6480] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 28px 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 16px;
  text-align: center;
  color: rgba(255, 255, 255, 0.7);
}
.instructions-icon[data-v-3bac6480] { font-size: 56px; color: #60a5fa;
}
.receiver-instructions p[data-v-3bac6480] { margin: 0; font-size: 14px; line-height: 1.5;
}
.scan-cta[data-v-3bac6480] { margin-top: 4px;
}



ion-modal.transfer-sheet::part(content) {
  background: #0a0a0a;
}
ion-modal.transfer-sheet::part(handle) {
  background: rgba(255, 255, 255, 0.3);
}



.failed-body[data-v-72174100] {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 12px;
  padding: 36px 24px 28px;
  background: #0a0a0a;
  color: rgba(255, 255, 255, 0.9);
  min-height: 100%;
}
.failed-icon-wrap[data-v-72174100] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 50%;
  background: rgba(220, 38, 38, 0.18);
}
.failed-icon[data-v-72174100] { font-size: 52px; color: #f87171;
}
.failed-title[data-v-72174100] { margin: 0; font-size: 22px; font-weight: 700; color: #fff;
}
.failed-text[data-v-72174100] { margin: 0; font-size: 15px; color: rgba(255, 255, 255, 0.7); line-height: 1.5;
}
.failed-reason[data-v-72174100] {
  margin: 0;
  font-size: 14px;
  color: rgba(248, 113, 113, 0.95);
  line-height: 1.5;
}
.failed-code[data-v-72174100] {
  margin: 0;
  font-family: Menlo, Consolas, monospace;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.55);
  word-break: break-all;
}
.failed-cta[data-v-72174100] { margin-top: 12px; width: 100%;
}



ion-modal.transfer-failed-modal::part(content) {
  background: #0a0a0a;
}



.splash-morph[data-v-2a881124] {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Purely visual overlay — must never swallow taps, even if a platform
     quirk keeps it mounted longer than expected. */
  pointer-events: none;
}
.sm-bg[data-v-2a881124] {
  position: absolute;
  inset: 0;
  background: #fff;
}
.splash-morph--dark .sm-bg[data-v-2a881124] {
  background: #000;
}
.sm-anchor[data-v-2a881124] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.sm-stage[data-v-2a881124] {
  position: relative;
  will-change: transform;
}
.sm-logo[data-v-2a881124] {
  width: 100%;
  height: 100%;
  overflow: visible;
}

/* Splash artwork colors (NOT app theme): antracite + brand blue on white;
   the iOS dark splash is monochrome white on black. */
.sm-hooks[data-v-2a881124] { fill: #383938;
}
.sm-blue[data-v-2a881124] { fill: #3b68b2;
}
.sm-word-dark[data-v-2a881124] { fill: #383938;
}
.sm-word-blue[data-v-2a881124] { fill: #3d69b2;
}
.splash-morph--dark .sm-hooks[data-v-2a881124],
.splash-morph--dark .sm-blue[data-v-2a881124],
.splash-morph--dark .sm-word-dark[data-v-2a881124],
.splash-morph--dark .sm-word-blue[data-v-2a881124] {
  fill: #fff;
}

/* "Junction®" diagonal lockup along the mark's lower-right side. Geometry
   derived from the artwork blob analysis: word bbox spans 37.9%→120.4% (x)
   and 37.3%→128.4% (y) of the mark box; solving for a 207:37 strip rotated
   about its top-left corner gives width ≈ 100% of the mark, origin at
   (37.9%, ~109%), angle ≈ -46°. */
.sm-word[data-v-2a881124] {
  position: absolute;
  left: 37.9%;
  top: 109%;
  width: 100%;
  transform: rotate(-46deg);
  transform-origin: 0 0;
  overflow: visible;
}



/* ── Global background ──────────────────────────────────────────────── */
.app-bg[data-v-4fcc3d55] {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: var(--app-bg-gradient);
  pointer-events: none;
  transition: background 0.3s ease;
}



/* Ionic core CSS — required */
:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}
html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}
html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}
html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}
body{background:var(--ion-background-color);color:var(--ion-text-color)}
body.backdrop-no-scroll{overflow:hidden}
html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}
html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}
html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}
@media screen and (min-width: 768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: 0.18}}
ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}
html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}
.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}
.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}
.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}
.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}
.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}
.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}
.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}
.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}
.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}
.ion-page{left:0;right:0;top:0;bottom:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}
.ion-page.ion-page-overlay-passthrough{pointer-events:none}
ion-modal>.ion-page{position:relative;contain:layout style;height:100%}
.split-pane-visible>.ion-page.split-pane-main{position:relative}
ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none !important}
.ion-page-invisible{opacity:0}
.can-go-back>ion-header ion-back-button{display:block}
html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}
@supports(padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}
@supports(padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: var(--safe-area-inset-top, env(safe-area-inset-top));--ion-safe-area-bottom: var(--safe-area-inset-bottom, env(safe-area-inset-bottom));--ion-safe-area-left: var(--safe-area-inset-left, env(safe-area-inset-left));--ion-safe-area-right: var(--safe-area-inset-right, env(safe-area-inset-right))}}
ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}
.menu-content{transform:translate3d(0,  0,  0)}
.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}
.menu-content-open ion-content{--overflow: hidden}
.menu-content-open .ion-content-scroll-host{overflow:hidden}
.ios .menu-content-reveal{box-shadow:-8px 0 42px rgba(0,0,0,.08)}
[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px rgba(0,0,0,.08)}
.md .menu-content-reveal{box-shadow:4px 0px 16px rgba(0,0,0,.18)}
.md .menu-content-push{box-shadow:4px 0px 16px rgba(0,0,0,.18)}
ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}
ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}
ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}
ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:300ms transform cubic-bezier(0.25, 0.8, 0.5, 1)}
@media(prefers-reduced-motion: reduce){ion-accordion .ion-accordion-toggle-icon{transition:none !important}}
ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}
ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}
ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}
ion-input input::-webkit-date-and-time-value{text-align:start}
.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}
.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}
[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}
.popover-viewport:has(>ion-content){overflow:hidden}
@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}
/*# sourceMappingURL=core.css.map */
/* Ionic CSS reset & structure */
audio,canvas,progress,video{vertical-align:baseline}
audio:not([controls]){display:none;height:0}
b,strong{font-weight:bold}
img{max-width:100%}
hr{height:1px;border-width:0;box-sizing:content-box}
pre{overflow:auto}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}
label,input,select,textarea{font-family:inherit;line-height:normal}
textarea{overflow:auto;height:auto;font:inherit;color:inherit}
textarea::placeholder{padding-left:2px}
form,input,optgroup,select{margin:0;font:inherit;color:inherit}
html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}
a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}
a ion-label,button ion-label{pointer-events:none}
button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}
[tappable]{cursor:pointer}
a[disabled],button[disabled],html input[disabled]{cursor:default}
button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}
input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}
table{border-collapse:collapse;border-spacing:0}
td,th{padding:0}
/*# sourceMappingURL=normalize.css.map */
*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}
html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}
html.ion-ce body{display:block}
html.plt-pwa{height:100vh}
body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}
/*# sourceMappingURL=structure.css.map */
html{font-family:var(--ion-font-family)}
@supports(-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}
a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}
h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}
h1{margin-top:20px;font-size:1.625rem}
h2{margin-top:18px;font-size:1.5rem}
h3{font-size:1.375rem}
h4{font-size:1.25rem}
h5{font-size:1.125rem}
h6{font-size:1rem}
small{font-size:75%}
sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
/*# sourceMappingURL=typography.css.map */
/* Optional Ionic utility classes */
.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding-left:0;padding-right:0;padding-top:0;padding-bottom:0}
.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}
.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}
.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}
.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}
.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}
.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}
.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}
.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}
.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}
.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}
.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}
.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}
.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}
.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}
.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}
/*# sourceMappingURL=padding.css.map */
.ion-align-content-start{align-content:flex-start !important}
.ion-align-content-end{align-content:flex-end !important}
.ion-align-content-center{align-content:center !important}
.ion-align-content-between{align-content:space-between !important}
.ion-align-content-around{align-content:space-around !important}
.ion-align-content-stretch{align-content:stretch !important}
@media(min-width: 576px){.ion-align-content-sm-start{align-content:flex-start !important}.ion-align-content-sm-end{align-content:flex-end !important}.ion-align-content-sm-center{align-content:center !important}.ion-align-content-sm-between{align-content:space-between !important}.ion-align-content-sm-around{align-content:space-around !important}.ion-align-content-sm-stretch{align-content:stretch !important}}
@media(min-width: 768px){.ion-align-content-md-start{align-content:flex-start !important}.ion-align-content-md-end{align-content:flex-end !important}.ion-align-content-md-center{align-content:center !important}.ion-align-content-md-between{align-content:space-between !important}.ion-align-content-md-around{align-content:space-around !important}.ion-align-content-md-stretch{align-content:stretch !important}}
@media(min-width: 992px){.ion-align-content-lg-start{align-content:flex-start !important}.ion-align-content-lg-end{align-content:flex-end !important}.ion-align-content-lg-center{align-content:center !important}.ion-align-content-lg-between{align-content:space-between !important}.ion-align-content-lg-around{align-content:space-around !important}.ion-align-content-lg-stretch{align-content:stretch !important}}
@media(min-width: 1200px){.ion-align-content-xl-start{align-content:flex-start !important}.ion-align-content-xl-end{align-content:flex-end !important}.ion-align-content-xl-center{align-content:center !important}.ion-align-content-xl-between{align-content:space-between !important}.ion-align-content-xl-around{align-content:space-around !important}.ion-align-content-xl-stretch{align-content:stretch !important}}
.ion-align-items-start{align-items:start !important}
.ion-align-items-end{align-items:end !important}
.ion-align-items-center{align-items:center !important}
.ion-align-items-stretch{align-items:stretch !important}
.ion-align-items-baseline{align-items:baseline !important}
@media(min-width: 576px){.ion-align-items-sm-start{align-items:start !important}.ion-align-items-sm-end{align-items:end !important}.ion-align-items-sm-center{align-items:center !important}.ion-align-items-sm-stretch{align-items:stretch !important}.ion-align-items-sm-baseline{align-items:baseline !important}}
@media(min-width: 768px){.ion-align-items-md-start{align-items:start !important}.ion-align-items-md-end{align-items:end !important}.ion-align-items-md-center{align-items:center !important}.ion-align-items-md-stretch{align-items:stretch !important}.ion-align-items-md-baseline{align-items:baseline !important}}
@media(min-width: 992px){.ion-align-items-lg-start{align-items:start !important}.ion-align-items-lg-end{align-items:end !important}.ion-align-items-lg-center{align-items:center !important}.ion-align-items-lg-stretch{align-items:stretch !important}.ion-align-items-lg-baseline{align-items:baseline !important}}
@media(min-width: 1200px){.ion-align-items-xl-start{align-items:start !important}.ion-align-items-xl-end{align-items:end !important}.ion-align-items-xl-center{align-items:center !important}.ion-align-items-xl-stretch{align-items:stretch !important}.ion-align-items-xl-baseline{align-items:baseline !important}}
.ion-align-self-start{align-self:start !important}
.ion-align-self-end{align-self:end !important}
.ion-align-self-center{align-self:center !important}
.ion-align-self-stretch{align-self:stretch !important}
.ion-align-self-baseline{align-self:baseline !important}
.ion-align-self-auto{align-self:auto !important}
@media(min-width: 576px){.ion-align-self-sm-start{align-self:start !important}.ion-align-self-sm-end{align-self:end !important}.ion-align-self-sm-center{align-self:center !important}.ion-align-self-sm-stretch{align-self:stretch !important}.ion-align-self-sm-baseline{align-self:baseline !important}.ion-align-self-sm-auto{align-self:auto !important}}
@media(min-width: 768px){.ion-align-self-md-start{align-self:start !important}.ion-align-self-md-end{align-self:end !important}.ion-align-self-md-center{align-self:center !important}.ion-align-self-md-stretch{align-self:stretch !important}.ion-align-self-md-baseline{align-self:baseline !important}.ion-align-self-md-auto{align-self:auto !important}}
@media(min-width: 992px){.ion-align-self-lg-start{align-self:start !important}.ion-align-self-lg-end{align-self:end !important}.ion-align-self-lg-center{align-self:center !important}.ion-align-self-lg-stretch{align-self:stretch !important}.ion-align-self-lg-baseline{align-self:baseline !important}.ion-align-self-lg-auto{align-self:auto !important}}
@media(min-width: 1200px){.ion-align-self-xl-start{align-self:start !important}.ion-align-self-xl-end{align-self:end !important}.ion-align-self-xl-center{align-self:center !important}.ion-align-self-xl-stretch{align-self:stretch !important}.ion-align-self-xl-baseline{align-self:baseline !important}.ion-align-self-xl-auto{align-self:auto !important}}
.ion-justify-content-start{justify-content:flex-start !important}
.ion-justify-content-end{justify-content:flex-end !important}
.ion-justify-content-center{justify-content:center !important}
.ion-justify-content-between{justify-content:space-between !important}
.ion-justify-content-around{justify-content:space-around !important}
.ion-justify-content-evenly{justify-content:space-evenly !important}
@media(min-width: 576px){.ion-justify-content-sm-start{justify-content:flex-start !important}.ion-justify-content-sm-end{justify-content:flex-end !important}.ion-justify-content-sm-center{justify-content:center !important}.ion-justify-content-sm-between{justify-content:space-between !important}.ion-justify-content-sm-around{justify-content:space-around !important}.ion-justify-content-sm-evenly{justify-content:space-evenly !important}}
@media(min-width: 768px){.ion-justify-content-md-start{justify-content:flex-start !important}.ion-justify-content-md-end{justify-content:flex-end !important}.ion-justify-content-md-center{justify-content:center !important}.ion-justify-content-md-between{justify-content:space-between !important}.ion-justify-content-md-around{justify-content:space-around !important}.ion-justify-content-md-evenly{justify-content:space-evenly !important}}
@media(min-width: 992px){.ion-justify-content-lg-start{justify-content:flex-start !important}.ion-justify-content-lg-end{justify-content:flex-end !important}.ion-justify-content-lg-center{justify-content:center !important}.ion-justify-content-lg-between{justify-content:space-between !important}.ion-justify-content-lg-around{justify-content:space-around !important}.ion-justify-content-lg-evenly{justify-content:space-evenly !important}}
@media(min-width: 1200px){.ion-justify-content-xl-start{justify-content:flex-start !important}.ion-justify-content-xl-end{justify-content:flex-end !important}.ion-justify-content-xl-center{justify-content:center !important}.ion-justify-content-xl-between{justify-content:space-between !important}.ion-justify-content-xl-around{justify-content:space-around !important}.ion-justify-content-xl-evenly{justify-content:space-evenly !important}}
.ion-flex-row{flex-direction:row !important}
.ion-flex-row-reverse{flex-direction:row-reverse !important}
.ion-flex-column{flex-direction:column !important}
.ion-flex-column-reverse{flex-direction:column-reverse !important}
@media(min-width: 576px){.ion-flex-sm-row{flex-direction:row !important}.ion-flex-sm-row-reverse{flex-direction:row-reverse !important}.ion-flex-sm-column{flex-direction:column !important}.ion-flex-sm-column-reverse{flex-direction:column-reverse !important}}
@media(min-width: 768px){.ion-flex-md-row{flex-direction:row !important}.ion-flex-md-row-reverse{flex-direction:row-reverse !important}.ion-flex-md-column{flex-direction:column !important}.ion-flex-md-column-reverse{flex-direction:column-reverse !important}}
@media(min-width: 992px){.ion-flex-lg-row{flex-direction:row !important}.ion-flex-lg-row-reverse{flex-direction:row-reverse !important}.ion-flex-lg-column{flex-direction:column !important}.ion-flex-lg-column-reverse{flex-direction:column-reverse !important}}
@media(min-width: 1200px){.ion-flex-xl-row{flex-direction:row !important}.ion-flex-xl-row-reverse{flex-direction:row-reverse !important}.ion-flex-xl-column{flex-direction:column !important}.ion-flex-xl-column-reverse{flex-direction:column-reverse !important}}
.ion-wrap{flex-wrap:wrap !important}
.ion-nowrap{flex-wrap:nowrap !important}
.ion-wrap-reverse{flex-wrap:wrap-reverse !important}
.ion-flex-wrap{flex-wrap:wrap !important}
.ion-flex-nowrap{flex-wrap:nowrap !important}
.ion-flex-wrap-reverse{flex-wrap:wrap-reverse !important}
@media(min-width: 576px){.ion-flex-sm-wrap{flex-wrap:wrap !important}.ion-flex-sm-nowrap{flex-wrap:nowrap !important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse !important}}
@media(min-width: 768px){.ion-flex-md-wrap{flex-wrap:wrap !important}.ion-flex-md-nowrap{flex-wrap:nowrap !important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse !important}}
@media(min-width: 992px){.ion-flex-lg-wrap{flex-wrap:wrap !important}.ion-flex-lg-nowrap{flex-wrap:nowrap !important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse !important}}
@media(min-width: 1200px){.ion-flex-xl-wrap{flex-wrap:wrap !important}.ion-flex-xl-nowrap{flex-wrap:nowrap !important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse !important}}
.ion-flex-1{flex:1 !important}
.ion-flex-auto{flex:auto !important}
.ion-flex-initial{flex:initial !important}
.ion-flex-none{flex:none !important}
@media(min-width: 576px){.ion-flex-sm-1{flex:1 !important}.ion-flex-sm-auto{flex:auto !important}.ion-flex-sm-initial{flex:initial !important}.ion-flex-sm-none{flex:none !important}}
@media(min-width: 768px){.ion-flex-md-1{flex:1 !important}.ion-flex-md-auto{flex:auto !important}.ion-flex-md-initial{flex:initial !important}.ion-flex-md-none{flex:none !important}}
@media(min-width: 992px){.ion-flex-lg-1{flex:1 !important}.ion-flex-lg-auto{flex:auto !important}.ion-flex-lg-initial{flex:initial !important}.ion-flex-lg-none{flex:none !important}}
@media(min-width: 1200px){.ion-flex-xl-1{flex:1 !important}.ion-flex-xl-auto{flex:auto !important}.ion-flex-xl-initial{flex:initial !important}.ion-flex-xl-none{flex:none !important}}
.ion-flex-grow-0{flex-grow:0 !important}
.ion-flex-grow-1{flex-grow:1 !important}
.ion-flex-shrink-0{flex-shrink:0 !important}
.ion-flex-shrink-1{flex-shrink:1 !important}
@media(min-width: 576px){.ion-flex-sm-grow-0{flex-grow:0 !important}.ion-flex-sm-grow-1{flex-grow:1 !important}.ion-flex-sm-shrink-0{flex-shrink:0 !important}.ion-flex-sm-shrink-1{flex-shrink:1 !important}}
@media(min-width: 768px){.ion-flex-md-grow-0{flex-grow:0 !important}.ion-flex-md-grow-1{flex-grow:1 !important}.ion-flex-md-shrink-0{flex-shrink:0 !important}.ion-flex-md-shrink-1{flex-shrink:1 !important}}
@media(min-width: 992px){.ion-flex-lg-grow-0{flex-grow:0 !important}.ion-flex-lg-grow-1{flex-grow:1 !important}.ion-flex-lg-shrink-0{flex-shrink:0 !important}.ion-flex-lg-shrink-1{flex-shrink:1 !important}}
@media(min-width: 1200px){.ion-flex-xl-grow-0{flex-grow:0 !important}.ion-flex-xl-grow-1{flex-grow:1 !important}.ion-flex-xl-shrink-0{flex-shrink:0 !important}.ion-flex-xl-shrink-1{flex-shrink:1 !important}}
.ion-order-first{order:-1 !important}
.ion-order-0{order:0 !important}
.ion-order-1{order:1 !important}
.ion-order-2{order:2 !important}
.ion-order-3{order:3 !important}
.ion-order-4{order:4 !important}
.ion-order-5{order:5 !important}
.ion-order-6{order:6 !important}
.ion-order-7{order:7 !important}
.ion-order-8{order:8 !important}
.ion-order-9{order:9 !important}
.ion-order-10{order:10 !important}
.ion-order-11{order:11 !important}
.ion-order-12{order:12 !important}
.ion-order-last{order:13 !important}
@media(min-width: 576px){.ion-order-sm-first{order:-1 !important}.ion-order-sm-0{order:0 !important}.ion-order-sm-1{order:1 !important}.ion-order-sm-2{order:2 !important}.ion-order-sm-3{order:3 !important}.ion-order-sm-4{order:4 !important}.ion-order-sm-5{order:5 !important}.ion-order-sm-6{order:6 !important}.ion-order-sm-7{order:7 !important}.ion-order-sm-8{order:8 !important}.ion-order-sm-9{order:9 !important}.ion-order-sm-10{order:10 !important}.ion-order-sm-11{order:11 !important}.ion-order-sm-12{order:12 !important}.ion-order-sm-last{order:13 !important}}
@media(min-width: 768px){.ion-order-md-first{order:-1 !important}.ion-order-md-0{order:0 !important}.ion-order-md-1{order:1 !important}.ion-order-md-2{order:2 !important}.ion-order-md-3{order:3 !important}.ion-order-md-4{order:4 !important}.ion-order-md-5{order:5 !important}.ion-order-md-6{order:6 !important}.ion-order-md-7{order:7 !important}.ion-order-md-8{order:8 !important}.ion-order-md-9{order:9 !important}.ion-order-md-10{order:10 !important}.ion-order-md-11{order:11 !important}.ion-order-md-12{order:12 !important}.ion-order-md-last{order:13 !important}}
@media(min-width: 992px){.ion-order-lg-first{order:-1 !important}.ion-order-lg-0{order:0 !important}.ion-order-lg-1{order:1 !important}.ion-order-lg-2{order:2 !important}.ion-order-lg-3{order:3 !important}.ion-order-lg-4{order:4 !important}.ion-order-lg-5{order:5 !important}.ion-order-lg-6{order:6 !important}.ion-order-lg-7{order:7 !important}.ion-order-lg-8{order:8 !important}.ion-order-lg-9{order:9 !important}.ion-order-lg-10{order:10 !important}.ion-order-lg-11{order:11 !important}.ion-order-lg-12{order:12 !important}.ion-order-lg-last{order:13 !important}}
@media(min-width: 1200px){.ion-order-xl-first{order:-1 !important}.ion-order-xl-0{order:0 !important}.ion-order-xl-1{order:1 !important}.ion-order-xl-2{order:2 !important}.ion-order-xl-3{order:3 !important}.ion-order-xl-4{order:4 !important}.ion-order-xl-5{order:5 !important}.ion-order-xl-6{order:6 !important}.ion-order-xl-7{order:7 !important}.ion-order-xl-8{order:8 !important}.ion-order-xl-9{order:9 !important}.ion-order-xl-10{order:10 !important}.ion-order-xl-11{order:11 !important}.ion-order-xl-12{order:12 !important}.ion-order-xl-last{order:13 !important}}
/*# sourceMappingURL=flex-utils.css.map */
.ion-hide{display:none !important}
.ion-hide-up{display:none !important}
.ion-hide-down{display:none !important}
@media(min-width: 576px){.ion-hide-sm-up{display:none !important}}
@media(max-width: 575.98px){.ion-hide-sm-down{display:none !important}}
@media(min-width: 768px){.ion-hide-md-up{display:none !important}}
@media(max-width: 767.98px){.ion-hide-md-down{display:none !important}}
@media(min-width: 992px){.ion-hide-lg-up{display:none !important}}
@media(max-width: 991.98px){.ion-hide-lg-down{display:none !important}}
@media(min-width: 1200px){.ion-hide-xl-up{display:none !important}}
@media(max-width: 1199.98px){.ion-hide-xl-down{display:none !important}}
.ion-display-none{display:none !important}
@media(min-width: 576px){.ion-display-sm-none{display:none !important}}
@media(min-width: 768px){.ion-display-md-none{display:none !important}}
@media(min-width: 992px){.ion-display-lg-none{display:none !important}}
@media(min-width: 1200px){.ion-display-xl-none{display:none !important}}
.ion-display-inline{display:inline !important}
@media(min-width: 576px){.ion-display-sm-inline{display:inline !important}}
@media(min-width: 768px){.ion-display-md-inline{display:inline !important}}
@media(min-width: 992px){.ion-display-lg-inline{display:inline !important}}
@media(min-width: 1200px){.ion-display-xl-inline{display:inline !important}}
.ion-display-inline-block{display:inline-block !important}
@media(min-width: 576px){.ion-display-sm-inline-block{display:inline-block !important}}
@media(min-width: 768px){.ion-display-md-inline-block{display:inline-block !important}}
@media(min-width: 992px){.ion-display-lg-inline-block{display:inline-block !important}}
@media(min-width: 1200px){.ion-display-xl-inline-block{display:inline-block !important}}
.ion-display-block{display:block !important}
@media(min-width: 576px){.ion-display-sm-block{display:block !important}}
@media(min-width: 768px){.ion-display-md-block{display:block !important}}
@media(min-width: 992px){.ion-display-lg-block{display:block !important}}
@media(min-width: 1200px){.ion-display-xl-block{display:block !important}}
.ion-display-flex{display:flex !important}
@media(min-width: 576px){.ion-display-sm-flex{display:flex !important}}
@media(min-width: 768px){.ion-display-md-flex{display:flex !important}}
@media(min-width: 992px){.ion-display-lg-flex{display:flex !important}}
@media(min-width: 1200px){.ion-display-xl-flex{display:flex !important}}
.ion-display-inline-flex{display:inline-flex !important}
@media(min-width: 576px){.ion-display-sm-inline-flex{display:inline-flex !important}}
@media(min-width: 768px){.ion-display-md-inline-flex{display:inline-flex !important}}
@media(min-width: 992px){.ion-display-lg-inline-flex{display:inline-flex !important}}
@media(min-width: 1200px){.ion-display-xl-inline-flex{display:inline-flex !important}}
.ion-display-grid{display:grid !important}
@media(min-width: 576px){.ion-display-sm-grid{display:grid !important}}
@media(min-width: 768px){.ion-display-md-grid{display:grid !important}}
@media(min-width: 992px){.ion-display-lg-grid{display:grid !important}}
@media(min-width: 1200px){.ion-display-xl-grid{display:grid !important}}
.ion-display-inline-grid{display:inline-grid !important}
@media(min-width: 576px){.ion-display-sm-inline-grid{display:inline-grid !important}}
@media(min-width: 768px){.ion-display-md-inline-grid{display:inline-grid !important}}
@media(min-width: 992px){.ion-display-lg-inline-grid{display:inline-grid !important}}
@media(min-width: 1200px){.ion-display-xl-inline-grid{display:inline-grid !important}}
.ion-display-table{display:table !important}
@media(min-width: 576px){.ion-display-sm-table{display:table !important}}
@media(min-width: 768px){.ion-display-md-table{display:table !important}}
@media(min-width: 992px){.ion-display-lg-table{display:table !important}}
@media(min-width: 1200px){.ion-display-xl-table{display:table !important}}
.ion-display-table-cell{display:table-cell !important}
@media(min-width: 576px){.ion-display-sm-table-cell{display:table-cell !important}}
@media(min-width: 768px){.ion-display-md-table-cell{display:table-cell !important}}
@media(min-width: 992px){.ion-display-lg-table-cell{display:table-cell !important}}
@media(min-width: 1200px){.ion-display-xl-table-cell{display:table-cell !important}}
.ion-display-table-row{display:table-row !important}
@media(min-width: 576px){.ion-display-sm-table-row{display:table-row !important}}
@media(min-width: 768px){.ion-display-md-table-row{display:table-row !important}}
@media(min-width: 992px){.ion-display-lg-table-row{display:table-row !important}}
@media(min-width: 1200px){.ion-display-xl-table-row{display:table-row !important}}
/*# sourceMappingURL=display.css.map */
/* ── Junction® Theme Variables (dark default) ──────────────────────── */
:root {
  --ion-color-primary: #1a56db;
  --ion-color-primary-rgb: 26, 86, 219;
  --ion-color-primary-contrast: #ffffff;
  --ion-color-primary-contrast-rgb: 255, 255, 255;
  --ion-color-primary-shade: #174bc1;
  --ion-color-primary-tint: #3167df;

  --ion-color-secondary: #0891b2;
  --ion-color-secondary-rgb: 8, 145, 178;
  --ion-color-secondary-contrast: #ffffff;
  --ion-color-secondary-contrast-rgb: 255, 255, 255;
  --ion-color-secondary-shade: #077f9d;
  --ion-color-secondary-tint: #219cba;

  --ion-color-danger: #dc2626;
  --ion-color-danger-rgb: 220, 38, 38;
  --ion-color-danger-contrast: #ffffff;
  --ion-color-danger-contrast-rgb: 255, 255, 255;
  --ion-color-danger-shade: #c22121;
  --ion-color-danger-tint: #e03c3c;

  --ion-color-warning: #d97706;
  --ion-color-warning-rgb: 217, 119, 6;
  --ion-color-warning-contrast: #ffffff;
  --ion-color-warning-contrast-rgb: 255, 255, 255;
  --ion-color-warning-shade: #bf6905;
  --ion-color-warning-tint: #dd851f;

  /* Brand-overridable activation CTA color. Defaults to warning. */
  --junction-activation-primary: var(--ion-color-warning);

  --ion-color-success: #16a34a;
  --ion-color-success-rgb: 22, 163, 74;
  --ion-color-success-contrast: #ffffff;
  --ion-color-success-contrast-rgb: 255, 255, 255;
  --ion-color-success-shade: #138f41;
  --ion-color-success-tint: #2dac5c;

  --ion-font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Roboto', sans-serif;
  --ion-background-color: #0d1b3e;
  --ion-text-color: #f1f5f9;

  /* Glass design tokens */
  --glass-bg: rgba(255, 255, 255, 0.06);
  --glass-border: rgba(255, 255, 255, 0.1);
  --glass-blur: blur(20px);
  --text-primary: rgba(255, 255, 255, 0.92);
  --text-secondary: rgba(255, 255, 255, 0.5);
  --text-muted: rgba(255, 255, 255, 0.3);

  /* Ionic overlay background — action sheet, modal, alert, popover all resolve to this */
  --ion-overlay-background-color: #0d1b3e;

  /* RGB counterparts — Ionic MD uses rgba(var(--ion-text-color-rgb, 0,0,0), opacity)
     without these defined, all overlay text defaults to black regardless of theme */
  --ion-background-color-rgb: 13, 27, 62;
  --ion-text-color-rgb: 241, 245, 249;

  /* Step colors — MD button text uses var(--ion-color-step-850, #262626)
     for dark mode: interpolate 85% from bg #0d1b3e toward text #f1f5f9 */
  --ion-color-step-50:  #131f47;
  --ion-color-step-100: #18244f;
  --ion-color-step-150: #1d2958;
  --ion-color-step-400: #5e6b8b;
  --ion-color-step-600: #96a1b8;
  --ion-color-step-850: #cdd3e4;
  --ion-color-step-900: #d9dee9;
  --ion-background-color-step-100: #131f47;
  --ion-background-color-step-150: #18244f;
  --ion-text-color-step-150: #cdd3e4;

  /* App background */
  --app-bg-gradient: linear-gradient(145deg, #0a0f1e 0%, #0d1b3e 40%, #0f2460 70%, #1a3a7a 100%);
  --blob-1-color: #1a56db;
  --blob-2-color: #0891b2;
  --blob-3-color: #3b82f6;

  /* Toolbar / header */
  --toolbar-bg: rgba(8, 12, 30, 0.82);
  --toolbar-border: rgba(255, 255, 255, 0.08);

  /* Menu sidebar */
  --menu-bg: rgba(8, 12, 30, 0.97);
  --menu-card-bg: rgba(255, 255, 255, 0.04);
  --menu-card-border: rgba(255, 255, 255, 0.08);
  --menu-list-bg: rgba(255, 255, 255, 0.05);
  --menu-list-border: rgba(255, 255, 255, 0.09);
  --menu-item-color: rgba(255, 255, 255, 0.88);
  --menu-item-divider: rgba(255, 255, 255, 0.06);
  --menu-footer-border: rgba(255, 255, 255, 0.07);
  --menu-chevron: rgba(255, 255, 255, 0.2);

  /* List items */
  --item-bg: rgba(255, 255, 255, 0.05);
  --item-bg-hover: rgba(255, 255, 255, 0.09);
  --item-border: rgba(255, 255, 255, 0.07);

  /* Safe-area insets: default fallback su env() nativo (iOS funziona già).
     cordova-plugin-safe-area sovrascrive con valori nativi WindowInsets su Android
     e UIView.safeAreaInsets su iOS — vedi imports/ui/plugins/safeArea.js */
  --safe-top: env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left: env(safe-area-inset-left, 0px);
  --safe-right: env(safe-area-inset-right, 0px);
}
/* ── Light theme overrides ──────────────────────────────────────────── */
html[data-theme="light"] {
  --ion-background-color: #f0f4ff;
  --ion-text-color: #0d1b3e;

  --glass-bg: rgba(255, 255, 255, 0.65);
  --glass-border: rgba(30, 64, 175, 0.12);
  --text-primary: rgba(13, 27, 62, 0.92);
  --text-secondary: rgba(13, 27, 62, 0.55);
  --text-muted: rgba(13, 27, 62, 0.35);

  --ion-overlay-background-color: #f0f4ff;
  --ion-background-color-rgb: 240, 244, 255;
  --ion-text-color-rgb: 13, 27, 62;

  --ion-color-step-50:  #edf1fd;
  --ion-color-step-100: #e7ecfc;
  --ion-color-step-150: #e0e7fb;
  --ion-color-step-400: #b0bcd8;
  --ion-color-step-600: #7687aa;
  --ion-color-step-850: #2a3e72;
  --ion-color-step-900: #1f3166;
  --ion-background-color-step-100: #e7ecfc;
  --ion-background-color-step-150: #e0e7fb;
  --ion-text-color-step-150: #2a3e72;

  --app-bg-gradient: linear-gradient(145deg, #dbeafe 0%, #eff6ff 40%, #f0f9ff 70%, #e0f2fe 100%);
  --blob-1-color: #93c5fd;
  --blob-2-color: #67e8f9;
  --blob-3-color: #a5b4fc;

  --toolbar-bg: rgba(240, 244, 255, 0.88);
  --toolbar-border: rgba(30, 64, 175, 0.1);

  --menu-bg: rgba(240, 244, 255, 0.98);
  --menu-card-bg: rgba(30, 64, 175, 0.04);
  --menu-card-border: rgba(30, 64, 175, 0.08);
  --menu-list-bg: rgba(30, 64, 175, 0.04);
  --menu-list-border: rgba(30, 64, 175, 0.09);
  --menu-item-color: rgba(13, 27, 62, 0.88);
  --menu-item-divider: rgba(30, 64, 175, 0.06);
  --menu-footer-border: rgba(30, 64, 175, 0.08);
  --menu-chevron: rgba(13, 27, 62, 0.2);

  --item-bg: rgba(30, 64, 175, 0.04);
  --item-bg-hover: rgba(30, 64, 175, 0.08);
  --item-border: rgba(30, 64, 175, 0.07);
}
/* ── Global dark transparent background ─────────────────────────────── */
ion-app {
  --ion-background-color: transparent;
}
ion-page {
  background: transparent;
}
ion-content {
  --background: transparent;
}
/* ── Overlays: ion-modal inner content must be opaque (pages inherit transparent) ── */
ion-modal ion-page {
  background: #0d1b3e;
}
ion-modal ion-content {
  --background: #0d1b3e;
}
html[data-theme="light"] ion-modal ion-page {
  background: #f0f4ff;
}
html[data-theme="light"] ion-modal ion-content {
  --background: #f0f4ff;
}
/* alertController injects ion-alert at body level — cssClass targets the host element */
.junction-alert {
  --background: #1a2a5e;
  --color: #f1f5f9;
}
html[data-theme="light"] .junction-alert {
  --background: #ffffff;
  --color: #0d1b3e;
}
/* ── Toolbar / Header ────────────────────────────────────────────────── */
ion-toolbar {
  --background: var(--toolbar-bg);
  --border-color: var(--toolbar-border);
  --color: var(--ion-text-color);
}
/* Android edge-to-edge: Ionic non propaga WindowInsets a --ion-safe-area-top.
   Forza padding-top toolbar primaria al valore reale esposto da
   cordova-plugin-safe-area. Su iOS Ionic gestisce già via env() nativo. */
ion-app.plt-android ion-header ion-toolbar:first-of-type {
  --padding-top: var(--safe-top);
}
ion-header {
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
ion-header::after {
  display: none;
}
ion-title {
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--ion-text-color);
}
ion-back-button {
  --color: var(--text-primary);
}
ion-button[fill="clear"] {
  --color: var(--text-primary);
}
/* ── Buttons ─────────────────────────────────────────────────────────── */
ion-button {
  --border-radius: 14px;
  font-weight: 600;
  --box-shadow: none;
  letter-spacing: 0.01em;
}
ion-button[fill="outline"] {
  --border-color: var(--glass-border);
  --color: var(--text-primary);
}
ion-button[size="large"] {
  --border-radius: 16px;
}
/* ── Cards ───────────────────────────────────────────────────────────── */
ion-card {
  --background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25);
  margin: 0 0 12px;
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
ion-card-title {
  color: var(--text-primary);
  font-weight: 700;
  font-size: 20px;
}
ion-card-subtitle {
  color: var(--text-secondary);
  text-transform: none;
  font-size: 13px;
  font-weight: 500;
}
ion-card-content {
  color: var(--text-primary);
}
ion-card-header {
  padding-bottom: 8px;
}
/* ── Lists & Items ───────────────────────────────────────────────────── */
ion-list {
  background: transparent !important;
  --ion-item-background: transparent;
  padding: 0 !important;
}
ion-item {
  --background: var(--item-bg);
  --background-hover: var(--item-bg-hover);
  --background-activated: var(--item-bg-hover);
  --border-color: var(--item-border);
  --color: var(--text-primary);
  --detail-icon-color: var(--text-muted);
  --detail-icon-opacity: 1;
  --padding-start: 16px;
  --inner-padding-end: 16px;
}
ion-item:first-of-type { border-radius: 14px 14px 0 0; }
ion-item:last-of-type  { border-radius: 0 0 14px 14px; --border-width: 0; }
ion-item:only-of-type  { border-radius: 14px; --border-width: 0; }
ion-label {
  color: var(--text-primary) !important;
}
ion-label h2 {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
  font-size: 15px !important;
}
ion-label p {
  color: var(--text-secondary) !important;
  font-size: 13px !important;
}
ion-note {
  color: var(--text-muted) !important;
  font-size: 12px;
}
ion-icon[slot="start"] {
  color: var(--ion-color-primary);
  margin-inline-end: 12px;
  font-size: 20px;
}
/* ── Inputs / Textarea ───────────────────────────────────────────────── */
ion-textarea {
  --color: var(--text-primary);
  --placeholder-color: var(--text-muted);
  --background: var(--item-bg);
  border-radius: 14px;
  border: 1px solid var(--glass-border);
  --padding-start: 14px;
  --padding-end: 14px;
  --padding-top: 12px;
  --padding-bottom: 12px;
  min-height: 120px;
}
ion-select {
  color: var(--text-primary);
}
ion-checkbox {
  --background: transparent;
  --background-checked: var(--ion-color-primary);
  --border-color: var(--glass-border);
  --checkmark-color: #fff;
}
ion-thumbnail img {
  border-radius: 10px;
  object-fit: cover;
}
/* ── Menu ────────────────────────────────────────────────────────────── */
ion-menu {
  --background: var(--menu-bg);
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
}
/* ── Global utility ──────────────────────────────────────────────────── */
.glass-section {
  background: var(--glass-bg);
  border: 1px solid var(--glass-border);
  border-radius: 18px;
  overflow: hidden;
  backdrop-filter: var(--glass-blur);
  -webkit-backdrop-filter: var(--glass-blur);
  margin-bottom: 16px;
}
.page-content {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-height: 100%;
}
.section-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
  padding: 0 4px;
  margin-bottom: 6px;
}
/* Global badge */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
}
.status-badge.success { background: rgba(22, 163, 74, 0.2); color: #4ade80; border: 1px solid rgba(74, 222, 128, 0.2); }
.status-badge.danger  { background: rgba(220, 38, 38, 0.2);  color: #f87171; border: 1px solid rgba(248, 113, 113, 0.2); }
.status-badge.warning { background: rgba(217, 119, 6, 0.2);  color: #fbbf24; border: 1px solid rgba(251, 191, 36, 0.2); }

