html {
    -webkit-text-size-adjust: 100%;
}

.theme-version.bg-light-success {
    color: #0f5132 !important;
    background-color: #d1f4e5 !important;
}

.breadcrumb .breadcrumb-item.active,
.breadcrumb-item.active {
    color: #334155 !important;
}

.text-primary,
a.text-primary,
.fw-bold.text-primary,
.form-control.text-primary {
    color: #0b4db3 !important;
}

.text-success,
.form-control.text-success {
    color: #146c43 !important;
}

.text-info {
    color: #0f7280 !important;
}

.pc-footer a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.badge.bg-light-primary.text-primary {
    color: #114ca8 !important;
    background-color: #eaf2ff !important;
}

.text-warning {
    color: #8a4b00 !important;
}

.active-badge,
.btn-primary,
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
    background-color: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #fff !important;
}

.addon-input {
    opacity: 1 !important;
}

.addon-input.text-primary {
    -webkit-text-fill-color: #0b4db3;
}

.addon-input.text-warning {
    -webkit-text-fill-color: #8a4b00;
}

.addon-input.text-success {
    -webkit-text-fill-color: #146c43;
}

body {
    overflow-x: hidden;
}

img,
svg,
video,
canvas {
    max-width: 100%;
}

/* ponytail: keep local Tabler 1.41.1 compatible with newer class names without restoring CDN CSS. */
.ti-arrows-exchange::before { content: '\edb0'; }
.ti-brand-cloudflare::before,
.ti-cloud-computing::before,
.ti-cloud-plus::before { content: '\ea76'; }
.ti-api::before { content: '\ea77'; }
.ti-brand-debian::before,
.ti-brand-ubuntu::before { content: '\eb1f'; }
.ti-brand-php::before { content: '\ea77'; }
.ti-browser-off::before { content: '\ebb7'; }
.ti-calendar-up::before { content: '\ea53'; }
.ti-circle-check-filled::before { content: '\ea67'; }
.ti-clock-exclamation::before { content: '\ea70'; }
.ti-cpu::before { content: '\eb1f'; }
.ti-currency-tether::before { content: '\eb82'; }
.ti-database-cog::before { content: '\ea88'; }
.ti-device-sd-card::before { content: '\ea88'; }
.ti-discount-check::before { content: '\ee7c'; }
.ti-file-spreadsheet::before,
.ti-file-word::before { content: '\eaa2'; }
.ti-help-circle::before { content: '\eabf'; }
.ti-layout-dashboard::before { content: '\ea87'; }
.ti-list-details::before { content: '\eb6b'; }
.ti-loader-2::before { content: '\eca3'; }
.ti-network::before { content: '\eb52'; }
.ti-world-off::before,
.ti-world-www::before { content: '\eb54'; }
.ti-world-share::before { content: '\eb21'; }
.ti-news-off::before { content: '\eafd'; }
.ti-player-play-filled::before { content: '\ed46'; }
.ti-player-stop-filled::before { content: '\ed4a'; }
.ti-plug-off::before { content: '\ebd9'; }
.ti-point-filled::before { content: '\eb0c'; }
.ti-pulse::before { content: '\ed23'; }
.ti-reload::before { content: '\eb13'; }
.ti-robot::before { content: '\eaec'; }
.ti-search-off::before { content: '\eb1c'; }
.ti-server-2::before,
.ti-server-bolt::before,
.ti-server-cog::before,
.ti-server-off::before { content: '\eb1f'; }
.ti-settings-cog::before { content: '\eb20'; }
.ti-shield-half::before { content: '\eb24'; }
.ti-tags::before { content: '\eb34'; }
.ti-trash-x::before { content: '\eb41'; }
.ti-user-circle::before { content: '\eb4d'; }
.ti-wallet-off::before { content: '\eb75'; }
.ti-world-upload::before { content: '\eb54'; }
.ti-spin { animation: ti-spin 1s linear infinite; }
@keyframes ti-spin { 100% { transform: rotate(360deg); } }

.pc-container,
.pc-content,
.page-header,
.card,
.modal-content {
    min-width: 0;
}

.pc-content {
    overflow-x: clip;
}

.modal-content {
    overflow: hidden;
}

.card-body,
.modal-body,
.alert {
    overflow-wrap: anywhere;
}

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table {
    vertical-align: middle;
}

.table td,
.table th {
    max-width: 320px;
}

.dataTables_wrapper {
    width: 100%;
    overflow-x: auto;
}

.dataTables_wrapper .row {
    min-width: 0;
}

.btn,
.form-control,
.form-select,
.input-group-text {
    min-height: 40px;
}

.btn {
    white-space: normal;
}

.input-group .btn {
    white-space: nowrap;
}

.form-label,
.form-check-label,
.text-muted,
.badge,
.pc-mtext {
    overflow-wrap: anywhere;
}

.dropdown-menu,
.pc-h-dropdown {
    max-width: min(92vw, 420px);
}

.swal2-popup {
    max-width: calc(100vw - 24px);
}

.auth-main .auth-wrapper .auth-form {
    width: 100%;
    min-width: 0 !important;
    max-width: 100%;
    padding: 16px;
}

.auth-main .auth-wrapper .auth-form .card {
    max-width: min(480px, calc(100vw - 32px));
}

.auth-main .auth-wrapper {
    width: 100%;
}

.auth-main .card {
    max-width: 100%;
}

@media (max-width: 1199.98px) {
    .pc-content {
        padding-left: 16px;
        padding-right: 16px;
    }

    .sticky-top {
        top: 80px !important;
    }
}

@media (max-width: 991.98px) {
    .pc-container {
        margin-left: 0;
    }

    .pc-header .header-wrapper {
        padding-left: 12px;
        padding-right: 12px;
    }

    .pc-content {
        padding: 14px;
    }

    .page-header .row,
    .card-header,
    .card-body .row {
        row-gap: 12px;
    }

    .sticky-top {
        position: static !important;
    }
}

@media (max-width: 767.98px) {
    .pc-content {
        padding: 12px;
    }

    .page-header h1,
    .page-header h2,
    .page-header h3,
    .card-title,
    .card-header h4,
    .card-header h5 {
        line-height: 1.3;
    }

    .card {
        margin-bottom: 14px;
    }

    .card-body {
        padding: 16px;
    }

    .card-header {
        padding: 14px 16px;
    }

    .pc-content .d-flex:not(.input-group):not(.btn-group):not(.btn-toolbar),
    .auth-main .d-flex:not(.input-group):not(.btn-group):not(.btn-toolbar) {
        flex-wrap: wrap;
        gap: 8px;
    }

    .justify-content-between {
        row-gap: 8px;
    }

    .btn-lg {
        min-height: 46px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .modal-dialog {
        width: auto;
        max-width: calc(100vw - 20px);
        margin: 10px;
    }

    .modal-title,
    .modal-body h1,
    .modal-body h2,
    .modal-body h3,
    .modal-body h4,
    .modal-body h5,
    .modal-body h6,
    .modal-body p,
    .modal-body a {
        overflow-wrap: anywhere;
    }

    .modal-footer {
        flex-wrap: wrap;
        gap: 8px;
    }

    .modal-footer .btn {
        flex: 1 1 140px;
    }

    .table td,
    .table th {
        max-width: 220px;
        white-space: normal;
    }

    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_info,
    .dataTables_wrapper .dataTables_paginate {
        float: none;
        text-align: left;
        width: 100%;
        margin: 8px 0;
    }
}

@media (max-width: 575.98px) {
    .pc-content {
        padding: 10px;
    }

    .pc-container,
    .pc-container .pc-content {
        width: 100%;
        max-width: 100vw;
    }

    .pc-container .pc-content > .row,
    .pc-container .page-header .row {
        margin-left: 0;
        margin-right: 0;
    }

    .pc-container .pc-content > .row > [class*="col-"],
    .pc-container .page-header .row > [class*="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

    .card-body {
        padding: 14px;
    }

    .auth-main .card {
        width: 100%;
        margin-top: 16px !important;
        margin-bottom: 16px !important;
    }

    .auth-main .card-body {
        padding: 20px 16px;
    }

    .g-recaptcha {
        transform: scale(.88);
        transform-origin: left top;
        min-height: 68px;
    }

    .toast-container {
        left: 10px !important;
        right: 10px !important;
        width: auto;
    }

    .toast {
        width: 100%;
    }

    .swal2-actions {
        width: 100%;
    }

    .swal2-actions .btn {
        flex: 1 1 100%;
    }
}

/* Keep long system notices readable inside the header dropdown. */
.pc-header .dropdown-notification .flex-grow-1 {
    min-width: 0;
}

.pc-header .dropdown-notification .notification-content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    line-height: 1.45;
}
