/* QuickSend v5.18 — multilingual mobile chat stability */
@media (max-width: 767px), (max-width: 1024px) and (pointer: coarse) {
  #chat-panel {
    position: fixed !important;
    left: max(.75rem, env(safe-area-inset-left, 0px)) !important;
    right: max(.75rem, env(safe-area-inset-right, 0px)) !important;
    top: var(--qs-chat-panel-top, 10dvh) !important;
    bottom: auto !important;
    width: auto !important;
    height: var(--qs-chat-panel-height, min(76dvh, 38rem)) !important;
    max-height: none !important;
    min-height: 0 !important;
    transform-origin: center center !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
  }

  #chat-messages {
    min-height: 0 !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch;
    scroll-behavior: auto !important;
  }

  #chat-panel form {
    flex: 0 0 auto !important;
    position: relative !important;
    z-index: 3 !important;
    padding-bottom: max(.75rem, env(safe-area-inset-bottom, 0px)) !important;
  }

  #chat-input {
    font-size: 16px !important; /* Prevent iOS Safari auto-zoom/pan on focus. */
    line-height: 1.25 !important;
    min-height: 2.75rem !important;
    transform: none !important;
    touch-action: manipulation !important;
    -webkit-text-size-adjust: 100% !important;
  }

  #chat-panel form button[type="submit"] {
    min-width: 2.75rem !important;
    min-height: 2.75rem !important;
  }

  body.qsv3-keyboard-open #chat-panel,
  body.qsv3-ios.qsv3-standalone.qsv3-keyboard-open #chat-panel {
    top: var(--qs-chat-panel-top, max(.5rem, env(safe-area-inset-top, 0px))) !important;
    height: var(--qs-chat-panel-height, calc(var(--qsv3-visual-height, 100dvh) - 1rem)) !important;
    max-height: none !important;
  }
}

/* Country selectors remain native on Android and iOS. */
.reg-phone-controls{display:grid;grid-template-columns:minmax(135px,1fr) minmax(110px,1fr);gap:10px;align-items:end}.reg-phone-controls>div{min-width:0}.reg-phone-controls label{font-size:.8rem}.reg-phone-controls select,.reg-phone-controls input{width:100%;min-width:0}.reg-field>small[data-reg-copy="countryHint"]{display:block;font-size:.8rem;margin-top:6px;color:#cbd5e1}
@media(max-width:360px){.reg-phone-controls{grid-template-columns:1fr}}

/* The screen background owns the notch area. No separate dark overlay. */
:root { --qs-screen-top: env(safe-area-inset-top, 0px); }
html.qs-ios-standalone body#quicksend-client::before { content: none !important; display: none !important; }
html.qs-ios-standalone { background: #f4f7f8; }
html.dark.qs-ios-standalone { background: #091316; }
body#quicksend-client[data-page="home"] #main-nav {
  top: 0; padding-top: var(--qs-screen-top) !important;
}
@media (max-width: 767px) {
  html body#quicksend-client[data-page="home"] #app-content {
    padding-top: calc(clamp(4.85rem, 10vw, 5.6rem) + var(--qs-screen-top)) !important;
  }
  html body#quicksend-client[data-page="home"] #mobile-menu-dropdown {
    top: calc(4rem + var(--qs-screen-top)) !important;
  }
}
/* Sign-in has no navigation bar: reserve only the actual device inset. */
html body#quicksend-client[data-page="login"] #app-content {
  padding-top: var(--qs-screen-top) !important;
}
html body#quicksend-client[data-page="login"] main { padding-top: 14px !important; }
/* One inset for the whole dashboard shell, including landscape/tablet. */
html body#quicksend-client[data-page="dashboard"] #layout-dashboard > .h-screen {
  padding-top: var(--qs-screen-top) !important; box-sizing: border-box;
}
html body#quicksend-client[data-page="dashboard"] #layout-dashboard header {
  padding-top: 9px !important;
}
