/* Tablet-specific responsive behavior. */

@media (min-width: 768px) and (max-width: 991.98px) {
    .main-content {
        padding: 24px 20px;
    }

    .dash-header {
        padding: 12px 20px;
    }

    .dash-column,
    .attendance-column,
    .card-column {
        margin-bottom: 0;
    }

    .row.g-3,
    .row.g-4,
    .row.g-xl-4 {
        --bs-gutter-x: 16px;
        --bs-gutter-y: 16px;
    }

    .inner-card,
    .dash-box,
    .card-body,
    .wcard,
    .pe-card,
    .lv-card,
    .ti-card,
    .ph-card,
    .at-card {
        border-radius: 14px;
    }

    .dash-box,
    .coach-dashbox {
        min-height: 150px;
        padding: 18px !important;
    }

    .lv-stat-grid,
    .pe-stat-grid,
    .ti-stat-grid,
    .ph-stat-grid,
    .at-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    .lv-filter-bar,
    .pe-filter-bar,
    .ti-filter-bar,
    .ph-filter-bar,
    .at-filter-bar {
        gap: 10px !important;
    }

    .lv-form-grid,
    .pe-form-grid,
    .ti-form-grid,
    .ph-form-grid,
    .at-form-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .table-responsive table td,
    .table-responsive table th {
        padding: 12px 16px !important;
    }

    .table-responsive table td {
        white-space: normal;
    }

    .main-content .nav-pills,
    .main-content .nav-tabs,
    .calendar-tabs,
    .view-tabs {
        overflow-x: auto;
        flex-wrap: nowrap;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .main-content .nav-pills::-webkit-scrollbar,
    .main-content .nav-tabs::-webkit-scrollbar,
    .calendar-tabs::-webkit-scrollbar,
    .view-tabs::-webkit-scrollbar {
        display: none;
    }

    .main-content .nav-pills .nav-link,
    .main-content .nav-tabs .nav-link,
    .calendar-tabs > *,
    .view-tabs > * {
        flex: 0 0 auto;
        white-space: nowrap;
    }

    .modal-dialog.modal-xl,
    .modal-dialog.modal-lg {
        max-width: calc(100vw - 40px) !important;
    }

    .kpi-modal,
    .attendance-modal-container,
    .lv-modal {
        max-width: min(680px, calc(100vw - 40px)) !important;
        max-height: calc(100dvh - 40px) !important;
    }

    .fc .fc-toolbar {
        gap: 10px;
        flex-wrap: wrap;
    }

    .fc .fc-toolbar-chunk {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .cal-shell,
    .cal-layout,
    .calendar-layout {
        grid-template-columns: 1fr !important;
    }

    .cal-toolbar,
    .calendar-toolbar,
    .cal-view-switcher,
    .cal-view-tabs {
        overflow-x: auto;
        flex-wrap: nowrap !important;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .cal-toolbar::-webkit-scrollbar,
    .calendar-toolbar::-webkit-scrollbar,
    .cal-view-switcher::-webkit-scrollbar,
    .cal-view-tabs::-webkit-scrollbar {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .top-header {
        min-height: 48px !important;
        padding: 10px 22px !important;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }

    .top-header > .row {
        display: none !important;
    }

    .top-header p,
    .top-header-context {
        flex: 1 1 auto !important;
        min-width: 0 !important;
        display: flex !important;
        align-items: center !important;
        gap: 5px !important;
        margin: 0 !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .top-header-context strong {
        max-width: 48vw !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .top-header .exit {
        flex: 0 0 auto !important;
        min-height: 34px !important;
        padding: 5px 10px !important;
        border: 1px solid rgba(255, 255, 255, .5) !important;
        border-radius: 999px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }

    .top-header .exit svg {
        width: 16px !important;
        height: 16px !important;
    }

    .analytics-page .analytics-banner {
        height: 250px !important;
        min-height: 250px !important;
        padding: 22px !important;
        margin-bottom: 30px !important;
        border-radius: 22px !important;
        overflow: hidden !important;
    }

    .analytics-page .analytics-banner::after {
        border-radius: 22px !important;
        background: linear-gradient(180deg, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, .64) 100%) !important;
    }

    .analytics-page .analytics-profile-info {
        flex-direction: row !important;
        align-items: flex-end !important;
        gap: 14px !important;
    }

    .analytics-page .cover-profile {
        flex-direction: row !important;
        align-items: flex-end !important;
        gap: 14px !important;
        margin-top: 92px !important;
    }

    .analytics-page .cover-profile[style] {
        margin-top: 92px !important;
    }

    .analytics-page .cover-picture,
    .analytics-page .cover-picture .user-profile,
    .analytics-page .cover-profile img.user-profile {
        width: 96px !important;
        min-width: 96px !important;
        height: 96px !important;
    }

    .analytics-page .cover-profile .inner-title {
        max-width: 44vw !important;
        color: #fff !important;
        font-size: 22px !important;
        line-height: 1.15 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .analytics-page .analytics-profile-info .button-group {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .analytics-page .analytics-profile-info .primary-button {
        min-width: 132px !important;
        min-height: 38px !important;
        padding: 8px 14px !important;
        font-size: 12px !important;
    }

    .main-content:has(#calendar) {
        padding: 14px !important;
    }

    .cal-wrapper {
        grid-template-columns: 1fr !important;
        height: auto !important;
        min-height: 0 !important;
    }

    .cal-sidebar {
        display: none !important;
    }

    .cal-main {
        min-width: 0 !important;
    }

    .cal-toolbar {
        padding: 12px 14px !important;
        gap: 10px !important;
    }

    .cal-toolbar-left,
    .cal-toolbar-right {
        flex-wrap: nowrap !important;
        min-width: 0 !important;
    }

    .cal-current-month {
        min-width: 0 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .cal-body {
        padding: 0 12px 12px !important;
    }

    .fc .fc-daygrid-day-frame {
        min-height: 78px !important;
    }

    .cal-form-row.triple {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .analytics-page .analytics-tabs {
        margin-top: 28px !important;
    }

    .analytics-page .analytics-tabs .row,
    .analytics-page .tab-content .row {
        --bs-gutter-x: 16px !important;
        --bs-gutter-y: 16px !important;
    }

    .analytics-page .analytics-left-info,
    .analytics-page .feed-list,
    .analytics-page #postsFeed,
    .analytics-page .post-creator-card,
    .analytics-page .post-card {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .analytics-page .post-creator-header {
        padding: 12px 14px !important;
        gap: 10px !important;
    }

    .analytics-page .post-type-selector {
        gap: 6px !important;
    }

    .analytics-page .post-type-btn {
        min-height: 34px !important;
        padding: 6px 10px !important;
        font-size: 12px !important;
        border-radius: 999px !important;
    }

    .analytics-page .post-creator-body {
        padding: 14px !important;
    }

    .analytics-page .post-options-section .row {
        align-items: stretch !important;
    }

    .analytics-page .post-options-section .row > div {
        min-width: 0 !important;
    }

    .analytics-page .feed-list {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .analytics-page .feed-list .post,
    .analytics-page .post-card,
    .analytics-page #postsFeed > .post-card,
    .analytics-page #postsFeed > .post {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    .analytics-page .post-card .card,
    .analytics-page .post-card.card {
        width: 100% !important;
        max-width: 100% !important;
    }

    .analytics-page .post-card h6[style*="max-width"] {
        max-width: min(260px, 34vw) !important;
    }

    .analytics-page .post-media .gallery-item img,
    .analytics-page .post-media video,
    .analytics-page .post-media iframe {
        width: 100% !important;
        max-height: 360px !important;
        object-fit: cover !important;
    }

    .analytics-page .post-media .row .gallery-item,
    .analytics-page .post-media .row .gallery-item img {
        max-height: 210px !important;
    }
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .analytics-page .tab-content [class*="col-"],
    .analytics-page .analytics-tabs [class*="col-"] {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .dash-header {
        min-height: 62px !important;
        padding: 10px 18px !important;
        gap: 12px !important;
        border-bottom: 1px solid rgba(226, 232, 240, .95) !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, .08) !important;
    }

    .header-left {
        min-width: 0 !important;
        max-width: none !important;
        flex: 1 1 auto !important;
    }

    .header-rightside {
        flex: 0 0 auto !important;
        gap: 9px !important;
    }

    .mobile-toggle {
        width: 42px !important;
        min-width: 42px !important;
        height: 42px !important;
        min-height: 42px !important;
        border: 1px solid rgba(203, 213, 225, .95) !important;
        border-radius: 12px !important;
        background: #ffffff !important;
        box-shadow: 0 3px 12px rgba(15, 23, 42, .07) !important;
    }

    .mobile-toggle svg path {
        stroke: #0f172a !important;
        stroke-width: 1.8 !important;
    }

    .dash-header .main-logo img {
        max-width: 126px !important;
        max-height: 42px !important;
        object-fit: contain !important;
    }

    .language-switcher > .d-flex {
        margin: 0 !important;
    }

    .language-toggle {
        min-width: 44px !important;
        height: 40px !important;
        min-height: 40px !important;
        padding: 0 10px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 5px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 12px !important;
        background: #f8fafc !important;
        color: #0f172a !important;
    }

    .language-toggle #current-lang {
        font-size: 12px !important;
        font-weight: 700 !important;
        letter-spacing: 0 !important;
    }

    .language-toggle .fa-angle-down {
        font-size: 11px !important;
    }

    .language-switcher .dropdown-menu.language_active {
        top: 58px !important;
        right: 112px !important;
        left: auto !important;
        min-width: 112px !important;
        padding: 6px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 12px !important;
        box-shadow: 0 18px 40px rgba(15, 23, 42, .16) !important;
        transform: none !important;
    }

    .language-switcher .dropdown-menu.language_active .dropdown-item {
        min-height: 36px !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        font-size: 12px !important;
        font-weight: 700 !important;
        text-align: center !important;
        text-transform: uppercase !important;
    }

    .notification-icon {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        min-height: 40px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 12px !important;
        background: #ffffff !important;
    }

    .notification-icon svg {
        width: 19px !important;
        height: 19px !important;
    }

    .notification-icon svg path {
        stroke: #475569 !important;
        stroke-width: 1.8 !important;
    }

    .ntf-count {
        width: 17px !important;
        height: 17px !important;
        top: -5px !important;
        right: -5px !important;
        border: 2px solid #fff !important;
        font-size: 9px !important;
        font-weight: 700 !important;
    }

    .header-profile {
        gap: 6px !important;
    }

    .header-profile img,
    .header-profile .profile-picture,
    .header-profile .user-initials-avatar {
        width: 40px !important;
        min-width: 40px !important;
        height: 40px !important;
        border-radius: 999px !important;
        object-fit: cover !important;
        font-size: 13px !important;
        font-weight: 700 !important;
    }

    .header-profile .dropdown button,
    .header-profile .dropdown .profile-menu-toggle {
        width: 38px !important;
        min-width: 38px !important;
        height: 38px !important;
        min-height: 38px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 12px !important;
        background: #f8fafc !important;
        color: #0f172a !important;
    }

    .header-profile .dropdown-menu {
        top: 58px !important;
        right: 18px !important;
        left: auto !important;
        min-width: 210px !important;
        padding: 7px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 12px !important;
        box-shadow: 0 18px 40px rgba(15, 23, 42, .16) !important;
        transform: none !important;
    }

    .header-profile .dropdown-item {
        min-height: 40px !important;
        padding: 9px 11px !important;
        border: 0 !important;
        border-radius: 8px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
    }

    .notification-dropdown {
        top: 62px !important;
        right: 18px !important;
        width: min(390px, calc(100vw - 36px)) !important;
        max-height: min(70dvh, 520px) !important;
        border-radius: 14px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        box-shadow: 0 20px 46px rgba(15, 23, 42, .2) !important;
    }

    .main-content .nav-pills,
    .main-content .nav-tabs,
    .analytics-tabs .nav,
    .analytics-tabs .nav-pills,
    .analytics-tabs .nav-tabs {
        width: 100% !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        padding: 5px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 14px !important;
        background: #f8fafc !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        scrollbar-width: none !important;
    }

    .main-content .nav-pills::-webkit-scrollbar,
    .main-content .nav-tabs::-webkit-scrollbar,
    .analytics-tabs .nav::-webkit-scrollbar,
    .analytics-tabs .nav-pills::-webkit-scrollbar,
    .analytics-tabs .nav-tabs::-webkit-scrollbar {
        display: none !important;
    }

    .main-content .nav-pills .nav-item,
    .main-content .nav-tabs .nav-item,
    .analytics-tabs .nav .nav-item {
        flex: 0 0 auto !important;
    }

    .main-content .nav-pills .nav-link,
    .main-content .nav-tabs .nav-link,
    .analytics-tabs .nav .nav-link {
        min-height: 38px !important;
        padding: 9px 14px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 11px !important;
        color: #475569 !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        white-space: nowrap !important;
        background: transparent !important;
    }

    .main-content .nav-pills .nav-link.active,
    .main-content .nav-tabs .nav-link.active,
    .analytics-tabs .nav .nav-link.active {
        background: #ffffff !important;
        color: var(--role-accent-text, #0d5f6a) !important;
        box-shadow: 0 4px 12px rgba(15, 23, 42, .08) !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .mobile-menu .sidebar-switch-wrapper,
    .offcanvas .sidebar-switch-wrapper {
        display: block !important;
        width: 100% !important;
        padding: 12px 14px !important;
        margin: 0 0 10px !important;
        border-bottom: 1px solid rgba(255, 255, 255, .12) !important;
        position: relative !important;
    }

    .mobile-menu .sidebar-switch-btn,
    .offcanvas .sidebar-switch-btn {
        width: 100% !important;
        min-height: 44px !important;
        padding: 10px 12px !important;
        display: grid !important;
        grid-template-columns: 26px minmax(0, 1fr) 14px !important;
        align-items: center !important;
        gap: 10px !important;
        border-radius: 14px !important;
        border: 1px solid rgba(255, 255, 255, .18) !important;
        background: rgba(255, 255, 255, .11) !important;
        color: #fff !important;
        box-shadow: none !important;
        text-align: left !important;
    }

    .mobile-menu .sidebar-switch-btn > svg:not(.dropdown-arrow),
    .offcanvas .sidebar-switch-btn > svg:not(.dropdown-arrow) {
        width: 22px !important;
        height: 22px !important;
        justify-self: center !important;
    }

    .mobile-menu .sidebar-switch-btn > svg:not(.dropdown-arrow) path,
    .offcanvas .sidebar-switch-btn > svg:not(.dropdown-arrow) path {
        stroke: currentColor !important;
    }

    .mobile-menu .sidebar-switch-btn span,
    .offcanvas .sidebar-switch-btn span {
        display: block !important;
        min-width: 0 !important;
        font-size: 13px !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }

    .mobile-menu .sidebar-switch-btn .dropdown-arrow,
    .offcanvas .sidebar-switch-btn .dropdown-arrow {
        display: block !important;
        justify-self: end !important;
    }

    .mobile-menu .switch-dropdown,
    .offcanvas .switch-dropdown {
        position: static !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 8px !important;
        border-radius: 14px !important;
        border: 1px solid rgba(255, 255, 255, .14) !important;
        background: rgba(2, 72, 80, .72) !important;
        box-shadow: none !important;
    }

    .mobile-menu .switch-option,
    .offcanvas .switch-option {
        min-height: 46px !important;
        padding: 9px 10px !important;
        border: 0 !important;
        border-radius: 12px !important;
        color: #fff !important;
    }

    .mobile-menu .switch-option-icon,
    .offcanvas .switch-option-icon {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        background: rgba(255, 255, 255, .12) !important;
        color: #fff !important;
    }

    .mobile-menu .switch-option-icon svg path,
    .mobile-menu .switch-option-icon svg line,
    .mobile-menu .switch-option-icon svg circle,
    .mobile-menu .switch-option-icon svg rect,
    .mobile-menu .switch-option-icon svg polyline,
    .mobile-menu .switch-option-icon svg polygon,
    .offcanvas .switch-option-icon svg path,
    .offcanvas .switch-option-icon svg line,
    .offcanvas .switch-option-icon svg circle,
    .offcanvas .switch-option-icon svg rect,
    .offcanvas .switch-option-icon svg polyline,
    .offcanvas .switch-option-icon svg polygon {
        stroke: #fff !important;
    }

    .mobile-menu .switch-option-icon svg [fill]:not([fill="none"]),
    .offcanvas .switch-option-icon svg [fill]:not([fill="none"]) {
        fill: #fff !important;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    body:has(.top-header) {
        padding-top: 48px !important;
    }

    .top-header {
        height: 48px !important;
        min-height: 48px !important;
        padding: 8px 18px !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        z-index: 1200 !important;
        display: grid !important;
        grid-template-columns: 72px minmax(0, 1fr) auto !important;
        align-items: center !important;
        gap: 12px !important;
        box-shadow: 0 1px 0 rgba(255, 255, 255, .08), 0 8px 18px rgba(15, 23, 42, .14) !important;
    }

    .top-header::before {
        content: "" !important;
        width: 72px !important;
        height: 1px !important;
    }

    .top-header-context {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        gap: 5px !important;
    }

    .top-header-context strong {
        max-width: 42vw !important;
        flex: 0 1 auto !important;
    }

    .top-header .exit {
        justify-self: end !important;
    }

    body:has(.top-header) .dash-header {
        top: 48px !important;
        z-index: 1190 !important;
    }
}

/* Final tablet header alignment. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    :root {
        --iv-context-header-h: 48px;
        --iv-dashboard-header-min-h: 64px;
    }

    body:has(.top-header) {
        padding-top: var(--iv-context-header-h) !important;
    }

    body:has(.top-header) .top-header {
        height: var(--iv-context-header-h) !important;
        min-height: var(--iv-context-header-h) !important;
        grid-template-columns: minmax(76px, 1fr) minmax(0, auto) minmax(76px, 1fr) !important;
        padding: 8px 18px !important;
    }

    body:has(.top-header) .top-header::before {
        content: none !important;
    }

    body:has(.top-header) .top-header-context {
        grid-column: 2 !important;
        max-width: min(620px, 58vw) !important;
        font-size: 13px !important;
    }

    body:has(.top-header) .top-header-context strong {
        max-width: 280px !important;
    }

    body:has(.top-header) .top-header .exit {
        grid-column: 3 !important;
        min-height: 34px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }

    body:has(.top-header) .dash-header {
        top: var(--iv-context-header-h) !important;
        min-height: var(--iv-dashboard-header-min-h) !important;
        padding: 10px 18px !important;
        margin-top: 0 !important;
        background: #fff !important;
    }

    body:has(.top-header) .sidebar {
        top: var(--iv-context-header-h) !important;
        height: calc(100vh - var(--iv-context-header-h)) !important;
    }

    body:has(.top-header) .language-switcher .dropdown-menu.language_active,
    body:has(.top-header) .header-profile .dropdown-menu,
    body:has(.top-header) .notification-dropdown {
        top: calc(var(--iv-context-header-h) + var(--iv-dashboard-header-min-h) + 6px) !important;
    }

    body:has(.top-header) .main-content {
        padding-top: 26px !important;
        scroll-margin-top: calc(var(--iv-context-header-h) + var(--iv-dashboard-header-min-h) + 14px) !important;
    }

    body:has(.top-header) .main-content > .page-head:first-child,
    body:has(.top-header) .main-content > [class$="-page-head"]:first-child,
    body:has(.top-header) .main-content > .dash-title:first-child,
    body:has(.top-header) .main-content > h1:first-child,
    body:has(.top-header) .main-content > h2:first-child,
    body:has(.top-header) .main-content > h3:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    body.has-managed-context .dash-header {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        min-height: var(--iv-dashboard-header-min-h) !important;
        padding: 10px 18px !important;
    }

    body.has-managed-context .main-content {
        margin-top: var(--iv-dashboard-header-min-h) !important;
        padding-top: 26px !important;
    }
}

/* Final tablet-only polish for managed header, menu, dropdowns, and dashboard cards. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    body.has-managed-context .top-header,
    body:has(.top-header) .top-header {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 46px !important;
        min-height: 46px !important;
        padding: 7px 16px !important;
    }

    body.has-managed-context .top-header-context,
    body:has(.top-header) .top-header-context {
        max-width: calc(100vw - 150px) !important;
        font-size: 12px !important;
        line-height: 1 !important;
    }

    body.has-managed-context .top-header .exit,
    body:has(.top-header) .top-header .exit {
        position: absolute !important;
        right: 16px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
        height: 32px !important;
        min-height: 32px !important;
        padding: 0 10px !important;
        font-size: 12px !important;
    }

    body.has-managed-context .dash-header,
    body:has(.top-header) .dash-header {
        top: 46px !important;
        min-height: 64px !important;
        height: 64px !important;
        overflow: visible !important;
    }

    body.has-managed-context .main-content {
        margin-top: 64px !important;
        padding-top: 22px !important;
    }

    .mobile-menu,
    .offcanvas.mobile-menu,
    #offcanvasExample {
        width: min(360px, 72vw) !important;
        max-width: min(360px, 72vw) !important;
        top: 110px !important;
        height: calc(100dvh - 110px) !important;
        overflow: hidden !important;
        z-index: 1235 !important;
    }

    .mobile-menu .offcanvas-body,
    .mobile-menu .sidebar,
    #offcanvasExample .offcanvas-body,
    #offcanvasExample .sidebar {
        height: 100% !important;
        max-height: 100% !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .mobile-menu .sidebar-menu,
    #offcanvasExample .sidebar-menu {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    .mobile-menu .sidebar .dropdown-menu,
    #offcanvasExample .sidebar .dropdown-menu {
        position: static !important;
        transform: none !important;
        width: calc(100% - 10px) !important;
        margin: 4px 0 8px 10px !important;
        padding: 5px !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: rgba(255, 255, 255, .09) !important;
        box-shadow: none !important;
    }

    .mobile-menu .sidebar .dropdown-menu.show,
    #offcanvasExample .sidebar .dropdown-menu.show {
        display: block !important;
    }

    body.has-managed-context .language-switcher .dropdown-menu.language_active,
    body:has(.top-header) .language-switcher .dropdown-menu.language_active {
        position: fixed !important;
        top: 116px !important;
        right: 132px !important;
        left: auto !important;
        transform: none !important;
        z-index: 1320 !important;
    }

    body.has-managed-context .header-profile .dropdown-menu,
    body:has(.top-header) .header-profile .dropdown-menu {
        position: fixed !important;
        top: 116px !important;
        right: 18px !important;
        left: auto !important;
        transform: none !important;
        z-index: 1320 !important;
    }

    body.has-managed-context .notification-dropdown,
    body:has(.top-header) .notification-dropdown {
        position: fixed !important;
        top: 116px !important;
        right: 18px !important;
        left: auto !important;
        transform: none !important;
        z-index: 1325 !important;
    }

    .dash-box,
    .coach-dashbox {
        min-height: 104px !important;
        padding: 18px !important;
        border-radius: 12px !important;
    }
}
/* Global tablet DataTable/listing polish. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .table-data {
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .table-data .table-responsive,
    .dataTables_wrapper .table-responsive {
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 16px !important;
        background: #fff !important;
        box-shadow: 0 10px 24px rgba(15, 23, 42, .05) !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    .dataTables_wrapper .dt-top,
    .dataTables_wrapper .dt-bottom {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 12px !important;
    }

    .dataTables_wrapper .dataTables_filter,
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dt-buttons {
        flex: 1 1 220px !important;
        min-width: min(100%, 220px) !important;
    }

    .dataTables_wrapper .dataTables_filter label,
    .dataTables_wrapper .dataTables_length label {
        width: 100% !important;
    }

    .dataTables_wrapper .dataTables_filter input,
    .dataTables_wrapper .dataTables_length select {
        width: 100% !important;
        min-height: 40px !important;
        margin-left: 0 !important;
        border-radius: 10px !important;
        border: 1px solid #cbd5e1 !important;
        background-color: #fff !important;
        font-size: 13px !important;
    }

    .table-responsive table th {
        padding: 13px 16px !important;
        color: #475569 !important;
        background: #f8fafc !important;
        font-size: 11px !important;
        font-weight: 800 !important;
        letter-spacing: .04em !important;
        text-transform: uppercase !important;
        white-space: nowrap !important;
    }

    .table-responsive table td {
        padding: 13px 16px !important;
        color: #0f172a !important;
        font-size: 13px !important;
        line-height: 1.4 !important;
        vertical-align: middle !important;
    }

    .table-responsive table tbody tr:hover td {
        background: #fbfdff !important;
    }

    .action-button,
    .table-actions,
    .dt-actions {
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
    }

    .action-btn,
    a.action-btn,
    button.action-btn {
        width: 34px !important;
        min-width: 34px !important;
        height: 34px !important;
        min-height: 34px !important;
        border-radius: 9px !important;
    }

    .dataTables_wrapper .dataTables_paginate {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }
}

/* Tablet listing toolbar consistency. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .main-content:has(table.responsive-card-table) .dt-top,
    .main-content:has(table.responsive-card-table) .filter-actions,
    .main-content:has(table.responsive-card-table) .lv-filter-bar,
    .main-content:has(table.responsive-card-table) .pe-filter-bar,
    .main-content:has(table.responsive-card-table) .ti-filter-bar,
    .main-content:has(table.responsive-card-table) .ph-filter-bar,
    .main-content:has(table.responsive-card-table) .at-filter-bar {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .main-content:has(table.responsive-card-table) .dataTables_filter {
        grid-column: span 2 !important;
    }

    .main-content:has(table.responsive-card-table) .dt-buttons,
    .main-content:has(table.responsive-card-table) .page-head .primary-button,
    .main-content:has(table.responsive-card-table) .al-page-head .primary-button {
        width: 100% !important;
    }

    .main-content:has(table.responsive-card-table) .form-control,
    .main-content:has(table.responsive-card-table) .form-select,
    .main-content:has(table.responsive-card-table) .select2-container,
    .main-content:has(table.responsive-card-table) .dataTables_filter input,
    .main-content:has(table.responsive-card-table) .dataTables_length select,
    .main-content:has(table.responsive-card-table) .dropdown,
    .main-content:has(table.responsive-card-table) .dropdown-toggle {
        width: 100% !important;
    }

    .main-content:has(table.responsive-card-table) .management-filter {
        width: 100% !important;
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 12px !important;
        align-items: center !important;
    }

    .main-content:has(table.responsive-card-table) .management-filter > * {
        width: 100% !important;
        min-width: 0 !important;
    }

    .main-content:has(table.responsive-card-table) .management-filter .inputfiled:not(.select-field) {
        grid-column: span 2 !important;
    }

    .main-content:has(table.responsive-card-table) .management-filter > .primary-button,
    .main-content:has(table.responsive-card-table) .management-filter > a.primary-button {
        grid-column: span 2 !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .main-content:has(table.responsive-card-table) > .d-flex.justify-content-end.align-items-center:has(.dropdown) {
        width: calc(50% - 6px) !important;
        margin-left: calc(50% + 6px) !important;
        margin-top: -54px !important;
        margin-bottom: 18px !important;
        justify-content: stretch !important;
        position: relative !important;
        z-index: 2 !important;
    }

    .main-content:has(table.responsive-card-table) > .d-flex.justify-content-end.align-items-center:has(.dropdown) .dropdown,
    .main-content:has(table.responsive-card-table) > .d-flex.justify-content-end.align-items-center:has(.dropdown) .dropdown-toggle {
        width: 100% !important;
    }
}

@media (max-width: 991.98px) {
    .main-content:has(table.responsive-card-table) .select2-container--default .select2-selection--single .select2-selection__rendered {
        line-height: 20px !important;
    }

    .main-content:has(table.responsive-card-table) .select2-container--default .select2-selection--single .select2-selection__arrow {
        height: 20px !important;
    }
}

/* Final tablet header control consistency. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .dash-header .header-rightside {
        align-items: center !important;
        gap: 10px !important;
    }

    .dash-header .language-switcher,
    .dash-header .language-switcher > .d-flex,
    .dash-header .header-profile {
        align-items: center !important;
        height: 48px !important;
    }

    .dash-header .language-toggle,
    .dash-header .header-profile {
        min-height: 48px !important;
        height: 48px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
    }

    .dash-header .language-toggle {
        min-width: 84px !important;
        max-width: none !important;
        padding: 0 15px !important;
        gap: 7px !important;
    }

    .dash-header .language-toggle .text-black {
        margin-left: 0 !important;
    }

    .dash-header .language-toggle .fa-angle-down {
        font-size: 13px !important;
        margin-top: 0 !important;
        line-height: 1 !important;
    }

    .dash-header .header-profile {
        padding: 0 8px 0 5px !important;
        gap: 8px !important;
    }
}

@media (max-width: 991.98px) {
    .main-content:has(table.responsive-card-table) .select2-container--default .select2-selection--single .select2-selection__rendered {
        padding-left: 0 !important;
    }
}

@media (max-width: 1199.98px) {
    .dash-header .header-profile .dropdown button svg,
    .dash-header .header-profile .dropdown .profile-menu-toggle svg {
        width: 12px !important;
        height: 8px !important;
    }
}

/* Final header pill equalization. */
@media (min-width: 768px) and (max-width: 1199.98px) {
    .management-filter {
        padding-left: 10px !important;
    }

    .dash-header .header-profile,
    .dash-header button.dropdown-toggle.language-toggle,
    .dash-header .language-toggle,
    .dash-header .notification-icon,
    .dash-header #bellIcon {
        min-height: 38px !important;
        max-height: 38px !important;
    }

    .dash-header .language-toggle,
    .dash-header .header-profile {
        height: 48px !important;
        min-height: 48px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 18px !important;
        background: #ffffff !important;
        box-shadow: 0 8px 22px rgba(15, 23, 42, .08) !important;
        display: inline-flex !important;
        align-items: center !important;
    }

    .dash-header .language-toggle {
        min-width: 84px !important;
        padding: 0 15px !important;
        justify-content: center !important;
        gap: 8px !important;
    }

    .dash-header .header-profile {
        padding: 0 8px 0 6px !important;
        gap: 8px !important;
    }

    .dash-header .language-toggle .text-black,
    .dash-header .language-toggle .fa-angle-down {
        width: 14px !important;
        height: 14px !important;
        margin: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        line-height: 1 !important;
    }

    .dash-header .language-toggle .fa-angle-down {
        font-size: 14px !important;
    }

    .dash-header .header-profile .dropdown button,
    .dash-header .header-profile .dropdown .profile-menu-toggle {
        width: 30px !important;
        min-width: 30px !important;
        height: 30px !important;
        min-height: 30px !important;
        border: 1px solid rgba(226, 232, 240, .95) !important;
        border-radius: 999px !important;
        background: #f8fafc !important;
        box-shadow: none !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
    }

    .dash-header .header-profile,
    .dash-header button.dropdown-toggle.language-toggle,
    .dash-header .language-toggle,
    .dash-header .notification-icon,
    .dash-header #bellIcon {
        min-height: 38px !important;
        max-height: 38px !important;
        height: 38px !important;
    }
}
