/**
 * Dashboard mobile layout — load AFTER each dashboard's inline <style>
 * so sidebar + sections stay within the viewport on all roles.
 */
@import url('admin-mobile-app.css');

@media (max-width: 1024px) {
    .dashboard-page,
    .dashboard-page .dashboard-container,
    .dashboard-page > .container {
        overflow-x: hidden;
        max-width: 100%;
        box-sizing: border-box;
    }

    .dashboard-page .dashboard-grid {
        grid-template-columns: 1fr !important;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    .dashboard-page .dashboard-grid > * {
        min-width: 0;
        max-width: 100%;
    }

    .dashboard-page .dashboard-sidebar {
        position: static !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding: var(--spacing-sm) !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .dashboard-main,
    .dashboard-page #dashboardMain {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
        box-sizing: border-box;
    }
}

@media (max-width: 768px) {
    html:has(.dashboard-page),
    body:has(.dashboard-page) {
        overflow-x: hidden;
        max-width: 100%;
    }

    .dashboard-page .dashboard-sidebar .profile-summary,
    .dashboard-page .dashboard-sidebar .admin-profile {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        column-gap: var(--spacing-sm) !important;
        row-gap: 2px !important;
        align-items: center !important;
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        padding-bottom: var(--spacing-sm) !important;
        margin-bottom: var(--spacing-sm) !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .dashboard-sidebar .profile-avatar,
    .dashboard-page .dashboard-sidebar .admin-avatar {
        width: 48px !important;
        height: 48px !important;
        min-width: 48px !important;
        max-width: 48px !important;
        margin: 0 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 2 !important;
        font-size: 1.1rem !important;
    }

    .dashboard-page .dashboard-sidebar .profile-name,
    .dashboard-page .dashboard-sidebar .admin-name {
        grid-column: 2 !important;
        grid-row: 1 !important;
        font-size: 0.95rem !important;
        min-width: 0 !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
    }

    .dashboard-page .dashboard-sidebar .admin-role {
        grid-column: 2 !important;
        grid-row: 2 !important;
        min-width: 0 !important;
    }

    .dashboard-page .dashboard-sidebar .profile-rating {
        grid-column: 2 !important;
        grid-row: 2 !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        min-width: 0 !important;
    }

    .dashboard-page .dashboard-sidebar .profile-email,
    .dashboard-page .dashboard-sidebar .profile-phone,
    .dashboard-page .dashboard-sidebar .admin-email,
    .dashboard-page .dashboard-sidebar .profile-stats {
        display: none !important;
    }

    .dashboard-page .dashboard-sidebar .sidebar-nav {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: var(--spacing-xs) 0 !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .dashboard-sidebar--mobile .sidebar-nav {
        display: none !important;
        max-height: min(55vh, 420px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard-page .dashboard-sidebar--mobile .sidebar-nav.is-open {
        display: flex !important;
    }

    .dashboard-page .dashboard-sidebar .sidebar-nav .nav-item {
        display: flex !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        gap: 0.35rem 0.5rem !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 44px !important;
        padding: 0.65rem 0.75rem !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: break-word !important;
        box-sizing: border-box !important;
        border-radius: var(--radius-md) !important;
        font-size: 0.875rem !important;
    }

    .dashboard-page .dashboard-sidebar .sidebar-nav .nav-item i {
        width: 1.25rem !important;
        flex-shrink: 0 !important;
        font-size: 0.95rem !important;
    }

    .dashboard-page .dashboard-sidebar .sidebar-nav .nav-item .badge {
        margin-left: auto !important;
        flex-shrink: 0 !important;
        padding: 1px 6px !important;
        font-size: 10px !important;
    }

    .dashboard-page .dashboard-sidebar .sidebar-footer {
        display: none !important;
    }

    .dashboard-page .dashboard-nav-toggle {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .dashboard-main,
    .dashboard-page #dashboardMain {
        padding: var(--spacing-md) !important;
    }

    .dashboard-page .dashboard-section {
        max-width: 100%;
        min-width: 0;
        overflow-x: hidden;
    }

    .dashboard-page .section-header {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .dashboard-page .header-actions,
    .dashboard-page .header-actions > * {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .filter-bar,
    .dashboard-page .search-box,
    .dashboard-page .filter-select {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: var(--spacing-sm) !important;
    }

    .dashboard-page .stat-card {
        min-width: 0 !important;
    }

    .dashboard-page .table-container {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard-page .table-container table {
        min-width: 480px;
    }

    .dashboard-page .table-container th,
    .dashboard-page .table-container td {
        padding: 0.5rem 0.65rem !important;
        font-size: 0.8rem !important;
    }

    .dashboard-page .booking-card,
    .dashboard-page .bookings-list {
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    .dashboard-page .booking-details {
        grid-template-columns: 1fr !important;
    }

    .dashboard-page .booking-actions {
        flex-direction: column !important;
    }

    .dashboard-page .booking-actions .action-btn {
        width: 100% !important;
    }

    .dashboard-page .tabs,
    .dashboard-page .bookings-tabs {
        max-width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .dashboard-page .charts-grid,
    .dashboard-page .chart-card {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    .dashboard-page .quick-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 480px) {
    .dashboard-page .stats-grid,
    .dashboard-page .quick-actions {
        grid-template-columns: 1fr !important;
    }

    .dashboard-page .dashboard-main,
    .dashboard-page #dashboardMain {
        padding: var(--spacing-sm) !important;
    }
}
