/* Shared phone layout; the desktop and document print layouts stay intact. */
.profile-details dd { overflow-wrap: anywhere; }

@media (pointer: coarse), (max-width: 767.98px) {
    input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
    select, textarea, .form-control, .form-select,
    .choices__input, .choices__input--cloned, .choices__inner,
    .flatpickr-current-month .numInput, .flatpickr-monthDropdown-months {
        font-size: 16px !important;
    }
}

@media screen and (max-width: 767.98px) {
    .auth-logo { max-width: 100%; }
    .auth-logo img { max-width: 100%; height: auto; max-height: 135px; }
    .auth-page-wrapper .error-basic-img { max-width: 100%; height: auto; }
    .btn, .page-link, .pagination a, .gridjs-pagination button,
    .choices__list--dropdown .choices__item--selectable {
        min-height: 44px;
    }
    .btn-icon, .btn-close { min-width: 44px; min-height: 44px; }
    .btn-close { padding: 0; background-size: 12px; flex-shrink: 0; }
    .form-control, .form-select, .choices__inner { min-height: 44px; }
    .form-check-input { min-width: 20px; min-height: 20px; }
    .form-check-label { padding-block: 4px; }
    .page-content { padding-right: 0; padding-left: 0; }
    .page-content > .container-fluid { padding-inline: 12px; }
    .page-title-box { gap: 8px; flex-wrap: wrap; }
    .page-title-box h4 { line-height: 1.4; }
    .card-header, .card-body { padding: 16px; }
    .row > * { min-width: 0; }
    .navbar-header { padding-inline: 8px; }
    .topbar-user { margin-left: 4px; }
    .navbar-menu .nav-link { min-height: 44px; display: flex; align-items: center; }
    .navbar-menu { overscroll-behavior: contain; }
    .modal { overscroll-behavior: contain; }
    .modal-dialog, .modal-dialog-centered { margin: 8px; min-height: calc(100% - 16px); }
    .modal-content { max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); }
    .modal-content > form { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
    .modal-body { overflow-y: auto; overscroll-behavior: contain; min-height: 0; -webkit-overflow-scrolling: touch; }
    .modal-header, .modal-footer { flex-shrink: 0; gap: 8px; }
    .modal-footer { padding-bottom: max(12px, env(safe-area-inset-bottom)); }
    .modal-footer .btn { white-space: normal; }
    .modal .table-responsive { max-width: 100%; }
    .offcanvas { max-width: 100vw; }
    #back-to-top {
        top: auto;
        left: auto;
        right: calc(16px + env(safe-area-inset-right, 0px));
        bottom: calc(16px + env(safe-area-inset-bottom, 0px));
        z-index: 1000;
    }
    .auth-page-wrapper { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
    .auth-page-wrapper .auth-page-content { padding-bottom: 24px; }
    .auth-page-wrapper .footer { position: relative; margin-top: auto; height: auto; padding: 16px 12px; }
    .auth-page-wrapper .card-body { padding: 20px !important; }
    .auth-page-wrapper .auth-logo { width: min(100%, 360px); }
}
