/* Approved Dialog A-47: large desktop dialog and phone bottom sheet. */
.uf-auth-modal { width: min(var(--uf-dialog-width-lg),calc(100% - var(--uf-space-12))); max-width: none; max-height: calc(100dvh - var(--uf-space-16)); padding: 0; margin: auto; border: 0; border-radius: var(--uf-radius-xl); background: var(--uf-surface-card); color: var(--uf-text-default); box-shadow: var(--uf-shadow-overlay); overflow: hidden; }
.uf-auth-modal:not([open]) { display: none; }
.uf-auth-modal[open] { display: flex; flex-direction: column; }
.uf-auth-modal::backdrop { background: var(--uf-overlay-scrim); }
.uf-auth-modal-header { display: flex; align-items: center; justify-content: space-between; gap: var(--uf-space-4); padding: var(--uf-space-2) var(--uf-space-6); border-bottom: var(--uf-stroke-1) solid var(--uf-border-default); flex-shrink: 0; font-size: var(--uf-label-lg-size); line-height: var(--uf-label-lg-line); font-weight: 600; }
.uf-auth-close { width: var(--uf-control-md); height: var(--uf-control-md); border: 0; border-radius: var(--uf-radius-full); background: transparent; color: var(--uf-text-default); padding: 0; cursor: pointer; font-size: var(--uf-label-md-size) !important; }
.uf-auth-close:hover { background: var(--uf-action-subtle-hover); }
.uf-auth-modal-content { overflow: auto; overscroll-behavior: contain; min-height: 0; }
.uf-auth-modal .uf-auth-layout { min-height: 0; align-items: stretch; }
.uf-auth-modal .uf-auth-media { width: 40%; height: auto; min-height: 0; position: static; }
.uf-auth-modal .uf-auth-photo { min-height: var(--uf-space-24); }
.uf-auth-modal .uf-auth-caption { padding: var(--uf-space-6); }
.uf-auth-modal .uf-auth-caption h2 { font-size: var(--uf-heading-lg-size); line-height: var(--uf-heading-lg-line); }
.uf-auth-modal .uf-auth-brand { padding: var(--uf-space-6); }
.uf-auth-modal .uf-auth-brand img { max-height: var(--uf-control-md); }
.uf-auth-modal .uf-auth-main { padding: 0 var(--uf-space-6) var(--uf-space-6); align-items: stretch; }
.uf-auth-modal .uf-auth-column { min-height: 0; }
.uf-auth-modal .uf-auth-intro { margin-bottom: var(--uf-space-6) !important; }
.uf-auth-modal .uf-auth-actions { margin: var(--uf-space-6) 0 0; padding: var(--uf-space-4) 0; }
.uf-auth-modal .uf-auth-name-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
.uf-auth-modal .uf-auth-fallback { padding-bottom: 0; }
.uf-auth-modal-open { overflow: hidden; }
.uf-auth-modal-open body { position: fixed; top: var(--uf-auth-scroll-y); width: 100%; overflow: hidden; }
.uf-auth-modal-status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 767px) {
  .uf-auth-modal { width: 100%; max-height: calc(100dvh - var(--uf-space-6)); margin: 0 auto; inset: auto 0 0; border-radius: var(--uf-radius-xl) var(--uf-radius-xl) 0 0; }
  .uf-auth-modal .uf-auth-actions { padding-bottom: max(var(--uf-space-4),env(safe-area-inset-bottom)); }
}
/* Listeo's Full-page split screen setting: retain the shared page composition across the viewport. */
.uf-auth-modal.uf-auth-modal-fullscreen { position: fixed; inset: 0; width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none; margin: 0; border-radius: 0; box-shadow: none; }
.uf-auth-modal-fullscreen .uf-auth-modal-header { position: absolute; top: var(--uf-space-4); right: var(--uf-space-4); padding: 0; border: 0; z-index: var(--uf-layer-sticky); }
.uf-auth-modal-fullscreen .uf-auth-modal-header > span { display: none; }
.uf-auth-modal-fullscreen .uf-auth-close { background: var(--uf-surface-card); }
.uf-auth-modal-fullscreen .uf-auth-close:hover { background: var(--uf-action-subtle-hover); }
.uf-auth-modal-fullscreen .uf-auth-modal-content { flex: 1; height: 100%; overflow: hidden; }
.uf-auth-modal-fullscreen .uf-auth-layout { height: 100%; }
.uf-auth-modal-fullscreen .uf-auth-media { width: 50%; height: 100%; }
.uf-auth-modal-fullscreen .uf-auth-caption { padding: var(--uf-space-12); }
.uf-auth-modal-fullscreen .uf-auth-caption h2 { font-size: var(--uf-display-md-size); line-height: var(--uf-display-md-line); }
.uf-auth-modal-fullscreen .uf-auth-pane { overflow: auto; overscroll-behavior: contain; min-height: 0; }
.uf-auth-modal-fullscreen .uf-auth-brand { padding: var(--uf-space-8) var(--uf-space-12); }
.uf-auth-modal-fullscreen .uf-auth-brand img { max-height: var(--uf-space-24); }
.uf-auth-modal-fullscreen .uf-auth-main { padding: var(--uf-space-6) var(--uf-space-12) var(--uf-space-16); align-items: center; }
.uf-auth-modal-fullscreen .uf-auth-intro { margin-bottom: var(--uf-space-8) !important; }
.uf-auth-modal-fullscreen .uf-auth-name-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--uf-space-4); }
@media (max-width: 1024px) {
  .uf-auth-modal-fullscreen .uf-auth-brand { padding: var(--uf-space-20) var(--uf-gutter-mobile) var(--uf-space-4); }
  .uf-auth-modal-fullscreen .uf-auth-brand img { max-height: var(--uf-space-16); }
  .uf-auth-modal-fullscreen .uf-auth-main { padding: var(--uf-space-6) var(--uf-gutter-mobile) 0; align-items: stretch; }
  .uf-auth-modal-fullscreen .uf-auth-fallback { padding-bottom: max(var(--uf-space-6),env(safe-area-inset-bottom)); }
}
@media (max-width: 767px) {
  .uf-auth-modal-fullscreen .uf-auth-name-grid { grid-template-columns: minmax(0,1fr); gap: 0; }
}
