/* Responsive safeguards shared by every portal page. */
.page-content,
.content-wrapper,
.content-inner,
.content-inner .content,
.content-inner .row > *,
.content-inner .card,
.content-inner .card-body,
.content-inner .tab-content,
.content-inner .tab-pane {
    min-width: 0;
}

/* A wide child must not turn the whole central area into a horizontal scroller. */
.content-inner {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.content-inner img,
.content-inner svg,
.content-inner canvas {
    max-width: 100%;
}

.content-inner svg,
.content-inner canvas {
    display: block;
}

/* Components that legitimately need more width remain independently scrollable. */
.content-inner .table-responsive,
.content-inner .dataTables_wrapper {
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* DataTables theme codes target an older Phosphor font release. */
.dataTable thead .sorting:not(.sorting_desc)::before,
.dataTable thead .sorting_asc_disabled::before {
    content: "\e136";
}

.dataTable thead .sorting:not(.sorting_asc)::after,
.dataTable thead .sorting_desc_disabled::after {
    content: "\e13c";
}

.new-customers-trigger {
    min-height: 2rem;
    text-decoration: none;
}

.new-customers-trigger:not(:disabled):hover {
    text-decoration: underline;
}

.new-customers-modal .modal-content {
    border: 0;
    box-shadow: 0 1rem 3rem rgba(15, 23, 42, 0.2);
}

.new-customers-modal .modal-header-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 0.75rem;
    background: rgba(5, 150, 105, 0.12);
    color: #059669;
}

.new-customers-modal .datatable-header {
    padding-top: 0;
}

/*
 * iOS Safari enlarges the viewport when a focused form control uses a font
 * smaller than 16px. Keep mobile form controls at that threshold, including
 * the search inputs that Select2 creates dynamically.
 */
@media (max-width: 767.98px) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
    select,
    textarea,
    .select2-container .select2-search__field,
    .select2-dropdown .select2-search__field {
        font-size: 16px !important;
    }
}

@media (max-width: 991.98px) {
    .content-inner .content {
        padding-right: 0.625rem;
        padding-left: 0.625rem;
    }

    .content-inner .nav-tabs {
        margin-right: 0;
        margin-left: 0;
    }

    .director-home__dashboard-card > .card-body {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }
}
