/* Shared phone layouts for the customer portal and public signup flows. */
@media (max-width: 991.98px) {
  .nexus-sidebar-toggle { min-height: 44px; min-width: 44px; flex-shrink: 0; }
}

@media (max-width: 1366px) {
  #content .btn:not(.note-btn),
  #content .ticket-tab,
  #content .billing-manage-btn,
  #content .doc-row,
  #content .nbn-step-change,
  #content .triage-opt,
  #content .page-link {
    min-height: 44px;
    min-width: 44px;
    white-space: normal;
  }
  #content .btn:not(.note-btn) { padding-top: .5rem; padding-bottom: .5rem; }
  #content .d-flex:has(> .btn) { flex-wrap: wrap; }
  #content .form-control,
  #content .form-select { min-height: 44px; font-size: 16px !important; }
  #content .btn-close { min-height: 44px; min-width: 44px; flex-shrink: 0; }
  #content .modal-title { min-width: 0; overflow-wrap: anywhere; }
  #content .pagination { flex-wrap: wrap; gap: .25rem; }
  #content .dropdown-menu { max-width: calc(100vw - 24px); max-height: 70dvh; overflow-y: auto; }
  #content .dropdown-item { min-height: 44px; white-space: normal; }
}

@media (max-width: 575.98px) {
  .auth-left { min-width: 0; width: 100%; padding: 1.25rem; }
  .auth-left > #content { width: 100%; max-width: 420px; }
  .auth-mobile-brands { display: grid; grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr); gap: .75rem; max-width: 304px; }
  .auth-mobile-nexus,
  .auth-mobile-gh { width: 100%; height: auto; max-width: 140px; justify-self: center; }

  /* Reserve separate space for back, title and sign out. */
  .nexus-topbar { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; gap: .5rem; }
  .nexus-back-button { grid-column: 1; grid-row: 1; }
  .nexus-topbar-main { grid-column: 2; grid-row: 1; position: static; transform: none; min-width: 0; justify-content: center; }
  .nexus-topbar-title { max-width: none; white-space: normal; overflow-wrap: anywhere; }
  .topbar-user { grid-column: 3; grid-row: 1; margin-left: 0; }
  .topbar-user-avatar { display: none; }

  #content .order-code-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .35rem; max-width: 22rem; }
  #content .order-code-input { width: 100%; min-width: 0; height: 3rem; padding-left: 0; padding-right: 0; }
  #content .triage-q { min-width: 0; flex-basis: 100%; }
  #content .triage-opts { flex-wrap: wrap; }
  #content .device-head { flex-wrap: wrap; gap: .35rem; }
  #content .locality-hero > div { min-width: 0; overflow-wrap: anywhere; }
  .order-topbar { min-height: 64px; height: auto; flex-wrap: wrap; padding-top: .5rem; padding-bottom: .5rem; }
  .order-footer { flex-wrap: wrap; }
  .order-footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
  .order-footer-links a { display: inline-flex; align-items: center; min-height: 44px; margin-left: 0; }
}

@media (max-width: 1366px) {
  .nexus-back-button,
  .topbar-signout,
  .nexus-sidebar-nav .nav-link { min-height: 44px; }
  .topbar-user { flex-shrink: 0; }
}
