/* SoloPayLink owner dashboard + QR premium polish.
   Visual-only overrides. Keep IDs and production flow logic unchanged. */

:root {
  --spl-ink: #0f172a;
  --spl-ink-soft: #334155;
  --spl-muted: #64748b;
  --spl-line: rgba(79, 70, 229, 0.14);
  --spl-line-strong: rgba(79, 70, 229, 0.24);
  --spl-panel: rgba(255, 255, 255, 0.94);
  --spl-panel-solid: #ffffff;
  --spl-rail: #eef2ff;
  --spl-brand: #1657D0;
  --spl-brand-2: #6d5dfc;
  --spl-brand-3: #0ea5e9;
  --spl-success: #059669;
  --spl-warning: #d97706;
  --spl-danger: #dc2626;
  --spl-shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.07);
  --spl-shadow-md: 0 22px 58px rgba(15, 23, 42, 0.09);
  --spl-shadow-brand: 0 20px 50px rgba(79, 70, 229, 0.16);
}

body.ownerdashboard-page {
  min-height: 100vh;
}

body.spl-modal-active {
  overflow: hidden;
}

body.setup-page .navbar .nav-inner {
  width: min(100%, 1600px);
  min-height: 74px;
  padding-inline: clamp(16px, 4vw, 32px) !important;
}

body.ownerdashboard-page .navbar .nav-inner {
  width: min(100%, 1600px);
  min-height: 74px;
  padding-inline: clamp(16px, 4vw, 32px) !important;
}

body.setup-page .nav-user {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  max-width: min(46vw, 310px) !important;
  padding: 8px 16px !important;
}

body.ownerdashboard-page .nav-user {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  max-width: min(46vw, 310px) !important;
  padding: 8px 16px !important;
}

body.setup-page .nav-user:empty {
  display: none !important;
}

body.ownerdashboard-page #logoutBtn {
  min-height: 42px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 18px !important;
}

body.setup-page #logoutBtn,
body.setup-page #dashboardNavLink {
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 8px 18px !important;
}

body.ownerdashboard-page .dashboard-layout {
  width: min(100%, 1600px);
  padding: clamp(18px, 3vw, 34px) clamp(12px, 3vw, 32px) 48px !important;
  gap: clamp(18px, 3vw, 28px) !important;
}

body.setup-page .btn,
body.setup-page button {
  min-height: 44px;
  transition:
    transform 0.16s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease,
    filter 0.18s ease !important;
}

body.ownerdashboard-page .btn,
body.ownerdashboard-page button {
  min-height: 44px;
  transition:
    transform 0.16s ease,
    box-shadow 0.18s ease,
    border-color 0.18s ease,
    background-color 0.18s ease,
    filter 0.18s ease !important;
}

body.setup-page .btn:hover,
body.setup-page button:hover {
  transform: translateY(-1px);
}

body.ownerdashboard-page .btn:hover,
body.ownerdashboard-page button:hover {
  transform: translateY(-1px);
}

body.setup-page .btn:active,
body.setup-page button:active {
  transform: translateY(0);
}

body.ownerdashboard-page .btn:active,
body.ownerdashboard-page button:active {
  transform: translateY(0);
}

body.ownerdashboard-page #bookingSummary {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px !important;
  margin-top: 18px !important;
}

body.ownerdashboard-page #bookingSummary .card {
  min-height: 112px;
  padding: 24px !important;
}

body.ownerdashboard-page #bookingSummary .card [id^="summary"] {
  margin-top: 8px;
}

body.ownerdashboard-page .services-premium-grid {
  align-items: stretch;
}

body.ownerdashboard-page .services-link-url,
body.ownerdashboard-page #primaryBookingLink {
  min-height: 68px;
  display: flex !important;
  align-items: center;
  padding-inline: 24px !important;
  overflow-wrap: anywhere;
}

body.ownerdashboard-page .services-cta-row,
body.ownerdashboard-page .services-settings-actions,
body.ownerdashboard-page .custom-links-action-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
}

body.ownerdashboard-page .services-cta-row .btn,
body.ownerdashboard-page .services-cta-row a,
body.ownerdashboard-page .services-settings-actions .btn,
body.ownerdashboard-page .custom-links-action-row .btn {
  width: 100% !important;
  min-height: 58px;
  justify-content: center;
}

body.ownerdashboard-page .table-container,
body.ownerdashboard-page .custom-links-table-wrap {
  width: 100%;
  overflow-x: auto !important;
  scrollbar-gutter: stable;
}

body.ownerdashboard-page table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

body.ownerdashboard-page th {
  white-space: nowrap;
}

body.ownerdashboard-page td {
  vertical-align: middle !important;
}

body.ownerdashboard-page tbody tr {
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
}

body.ownerdashboard-page .details-modal {
  cursor: pointer;
  padding: clamp(12px, 3vw, 30px) !important;
}

body.ownerdashboard-page .details-modal .details-content {
  cursor: auto;
  width: min(100%, 720px);
  max-height: min(88vh, 920px) !important;
  overflow: auto !important;
}

body.ownerdashboard-page .details-modal.spl-modal-attention .details-content {
  animation: splModalAttention 0.48s ease both;
}

@keyframes splModalAttention {
  0% { transform: scale(1); }
  38% { transform: scale(1.012); }
  100% { transform: scale(1); }
}

body.ownerdashboard-page .details-row {
  min-width: 0;
}

body.ownerdashboard-page .details-value {
  overflow-wrap: anywhere;
}

body.ownerdashboard-page #payLaterModal .details-content,
body.ownerdashboard-page #customLinkModal .details-content,
body.ownerdashboard-page #packageSessionModal .details-content,
body.ownerdashboard-page #timeOffModal .details-content,
body.ownerdashboard-page #editBusinessDetailsModal .details-content,
body.ownerdashboard-page #editSettingsModal .details-content {
  width: min(100%, 760px) !important;
}

body.ownerdashboard-page #timeOffModal .timeoff-mode-btn label {
  cursor: pointer;
}

body.ownerdashboard-page .custom-links-table {
  min-width: 860px;
}

body.ownerdashboard-page .custom-links-table .btn,
body.ownerdashboard-page .bookings-table .btn,
body.ownerdashboard-page .links-table .btn {
  min-width: 114px;
}

body.setup-page .main {
  padding-inline: clamp(12px, 3vw, 28px) !important;
}

body.setup-page .page-wrap {
  width: min(100%, 1080px);
}

body.setup-page #flowShell {
  padding: clamp(16px, 3vw, 28px) !important;
}

body.setup-page #qrSection.share-section {
  width: min(100%, 760px);
  margin-inline: auto;
}

body.setup-page .spl-qr-header {
  gap: 16px;
}

body.setup-page .qr-actions-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

body.setup-page .qr-actions-row .btn,
body.setup-page #copyBookingLinkBtn {
  width: 100% !important;
  min-height: 56px;
  justify-content: center;
}

body.setup-page #authBoxOverlay {
  cursor: pointer;
}

body.setup-page #authBox {
  cursor: auto;
}

@media (max-width: 1180px) {
  body.ownerdashboard-page .services-premium-grid {
    grid-template-columns: 1fr !important;
  }

  body.ownerdashboard-page #bookingSummary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 860px) {
  body.setup-page .navbar .nav-inner {
    min-height: auto;
    align-items: flex-start;
    gap: 12px;
  }
  body.ownerdashboard-page .navbar .nav-inner {
    min-height: auto;
    align-items: flex-start;
    gap: 12px;
  }

  body.setup-page .nav-right {
    width: 100%;
    justify-content: flex-start !important;
  }

  body.ownerdashboard-page .nav-right {
    width: 100%;
    justify-content: flex-start !important;
  }

  body.setup-page .nav-user {
    max-width: calc(100vw - 150px) !important;
  }

  body.ownerdashboard-page .nav-user {
    max-width: calc(100vw - 150px) !important;
  }

  body.ownerdashboard-page #bookingSummary {
    grid-template-columns: 1fr !important;
  }

  body.ownerdashboard-page .dash-actions,
  body.ownerdashboard-page .services-cta-row,
  body.ownerdashboard-page .services-settings-actions,
  body.ownerdashboard-page .custom-links-action-row {
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  body.ownerdashboard-page .dash-actions .btn,
  body.ownerdashboard-page .dash-actions button {
    width: 100% !important;
    justify-content: center;
  }

  body.ownerdashboard-page .details-modal {
    align-items: flex-start !important;
    padding: 12px !important;
  }

  body.ownerdashboard-page .details-modal .details-content {
    width: min(100%, 96vw) !important;
    max-height: 86vh !important;
  }

  body.ownerdashboard-page .details-content [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  body.setup-page .qr-actions-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  body.setup-page .main {
    padding-inline: 10px !important;
  }
  body.ownerdashboard-page .dashboard-layout {
    padding-inline: 10px !important;
  }

  body.ownerdashboard-page #bookingSummary .card {
    min-height: 96px;
    padding: 18px !important;
  }

  body.ownerdashboard-page .services-link-url,
  body.ownerdashboard-page #primaryBookingLink {
    min-height: 58px;
    padding-inline: 16px !important;
  }

  body.ownerdashboard-page .custom-links-table,
  body.ownerdashboard-page .bookings-table,
  body.ownerdashboard-page .links-table {
    min-width: 760px;
  }
}
