/*
  SoftPay: project overrides only (Vuexy customer override file).
  Theme CSS lives in /assets/vendor. Primary brand #3772FE.
*/
:root,
[data-bs-theme="light"] {
  --bs-primary: #3772FE;
  --bs-primary-rgb: 55, 114, 254;
  --bs-primary-text-emphasis: #1630a6;
  --bs-primary-bg-subtle: #e8efff;
  --bs-primary-border-subtle: #b7c9fe;
  --bs-link-color: #3772FE;
  --bs-link-hover-color: #2f63e0;
}

[data-bs-theme="dark"] {
  --bs-primary: #3772FE;
  --bs-primary-rgb: 55, 114, 254;
  --bs-primary-text-emphasis: #9db6ff;
  --bs-primary-bg-subtle: #1c2752;
  --bs-primary-border-subtle: #2a44a3;
}

/* Hero CTA hint */
.landing-hero .landing-hero-btn .hero-btn-item {
  inset-block-start: 55%;
  inset-inline-start: -73%;
}

/* Toasts above fixed navbar (Vuexy blur ::before is 1001, navbar ~1080) */
.app-floating-alert {
  position: fixed;
  inset-block-start: 5.5rem;
  inset-inline-end: 1.5rem;
  z-index: 1100;
  max-inline-size: 28rem;
  box-shadow: var(--bs-box-shadow-lg);
}

#qrCodeHost.qr-host {
  width: 256px;
  height: 256px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#qrCodeHost.qr-host svg {
  display: block;
  width: 256px;
  height: 256px;
}

/* QR link fullscreen: form scrolls, preview stays viewport-tall */
#qrLinkFullscreenModal .qr-link-modal-content {
  height: 100%;
  max-height: 100dvh;
  overflow: hidden;
}

#qrLinkFullscreenModal .qr-link-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

#qrLinkFullscreenModal .qr-link-modal-layout {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

#qrLinkFullscreenModal .qr-link-modal-form {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

#qrLinkFullscreenModal .qr-link-modal-form-inner {
  padding: 1.5rem;
  padding-bottom: 2.5rem;
}

#qrLinkFullscreenModal .qr-link-modal-preview {
  flex: 0 0 auto;
  min-height: 12rem;
  max-height: 40vh;
  overflow: hidden;
  padding: 0 1.5rem 1.5rem;
}

#qrLinkFullscreenModal .qr-link-modal-preview-inner {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media (min-width: 1200px) {
  #qrLinkFullscreenModal .qr-link-modal-layout {
    flex-direction: row;
    align-items: stretch;
  }

  #qrLinkFullscreenModal .qr-link-modal-form {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    border-inline-end: 1px solid var(--bs-border-color);
  }

  #qrLinkFullscreenModal .qr-link-modal-preview {
    flex: 1 1 auto;
    max-height: none;
    height: 100%;
    min-height: 0;
    padding: 1.5rem;
  }
}

/* Sidebar collapse toggle: clear lock/expand icons (desktop) */
@media (min-width: 1200px) {
  .layout-menu .layout-menu-toggle .menu-toggle-expand {
    display: none !important;
  }
  html.layout-menu-collapsed .layout-menu .layout-menu-toggle .menu-toggle-collapse {
    display: none !important;
  }
  html.layout-menu-collapsed .layout-menu .layout-menu-toggle .menu-toggle-expand {
    display: block !important;
  }
}

/* Payment links tables: fit card width, no horizontal scrollbar */
#qrLinksCard,
.links-table-card {
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}
.links-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}
.links-clip-table {
  table-layout: fixed;
  width: 100% !important;
  max-width: 100%;
  margin-bottom: 0;
}
.links-clip-table col.col-fav {
  width: 3rem;
}
.links-clip-table col.col-req {
  width: 24%;
}
.links-clip-table col.col-purpose {
  width: 14%;
}
.links-clip-table col.col-date {
  width: 6.5rem;
}
.links-clip-table col.col-expires {
  width: 7.5rem;
}
.links-clip-table col.col-amount {
  width: 7.5rem;
}
.links-clip-table col.col-note {
  width: 12%;
}
.links-clip-table col.col-actions {
  width: 3.25rem;
}
.links-clip-table col.col-actions-wide {
  width: 6.5rem;
}
.links-clip-table th,
.links-clip-table td {
  overflow: hidden;
  vertical-align: middle;
  white-space: nowrap;
}
.links-clip-table .links-clip-trunc {
  display: block;
  max-width: 100%;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: start;
}

/* Expired date + clock icon: optical vertical center */
.qr-expires-deactivated {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem;
  max-width: 100%;
  line-height: 1;
  color: var(--bs-secondary-color);
}
.qr-expires-deactivated > .icon-base.ti {
  flex: 0 0 auto;
  display: block;
  width: 1.125rem !important;
  height: 1.125rem !important;
  block-size: 1.125rem !important;
  inline-size: 1.125rem !important;
  font-size: 1.125rem !important;
  line-height: 1 !important;
  margin: 0;
  vertical-align: unset;
}
.qr-expires-deactivated > span {
  display: block;
  line-height: 1.125rem;
  margin: 0;
}
