/* ========================================
   ULTRA COMPACT MOBILE BUTTONS - Width Reduction
   ======================================== */

/* Ultra-Compact Mobile Buttons - Maximum Width Reduction */
@media (max-width: 480px) {
    /* Base Button Width Reduction */
    .btn {
        width: auto !important;
        max-width: calc(100vw - 2rem) !important;
        min-width: 60px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.7rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Button Size Variants - Ultra Compact */
    .btn-xs {
        min-width: 48px !important;
        max-width: 80px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
    }
    
    .btn-sm {
        min-width: 56px !important;
        max-width: 100px !important;
        padding: 0.25rem 0.35rem !important;
        font-size: 0.68rem !important;
    }
    
    .btn-lg {
        min-width: 64px !important;
        max-width: 120px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.72rem !important;
    }
    
    .btn-xl {
        min-width: 72px !important;
        max-width: 140px !important;
        padding: 0.35rem 0.6rem !important;
        font-size: 0.75rem !important;
    }
    
    /* Navigation Buttons - Ultra Compact */
    .navbar-actions .btn {
        min-width: 50px !important;
        max-width: 90px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
        height: 28px !important;
    }
    
    .navbar-actions .btn i {
        margin-right: 0.1rem !important;
        font-size: 0.8em !important;
    }
    
    /* Sidebar Navigation - Ultra Compact */
    .sidebar-nav a {
        min-width: auto !important;
        max-width: calc(100% - 1rem) !important;
        padding: 0.4rem 0.5rem !important;
        font-size: 0.75rem !important;
        height: 32px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0.5rem !important;
    }
    
    .sidebar-nav a span {
        min-width: 0 !important;
        flex: 1 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }
    
    /* Dashboard Action Buttons - Ultra Compact */
    .action-buttons .btn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
        height: 32px !important;
    }
    
    .action-buttons .btn i {
        margin-right: 0.2rem !important;
        font-size: 0.9em !important;
    }
    
    /* Form Action Buttons - Ultra Compact */
    .form-actions .btn {
        width: 100% !important;
        max-width: 100% !important;
        min-width: auto !important;
        padding: 0.35rem 0.6rem !important;
        font-size: 0.72rem !important;
        height: 36px !important;
    }
    
    /* Modal Buttons - Ultra Compact */
    .modal-footer .btn {
        min-width: 60px !important;
        max-width: 100px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.68rem !important;
        height: 30px !important;
    }
    
    /* Card Buttons - Ultra Compact */
    .card .btn {
        min-width: 50px !important;
        max-width: 90px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
        height: 26px !important;
    }
    
    /* Table Action Buttons - Ultra Compact */
    .table-actions .btn {
        min-width: 40px !important;
        max-width: 60px !important;
        padding: 0.15rem 0.2rem !important;
        font-size: 0.6rem !important;
        height: 24px !important;
    }
    
    /* Filter Buttons - Ultra Compact */
    .filter-tab {
        min-width: 50px !important;
        max-width: 80px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
        height: 26px !important;
    }
    
    /* Button Groups - Ultra Compact */
    .btn-group {
        gap: 0.15rem !important;
    }
    
    .btn-group .btn {
        flex: 1 !important;
        min-width: 0 !important;
        max-width: none !important;
    }
    
    .btn-group-vertical {
        gap: 0.2rem !important;
    }
    
    /* Icon Only Buttons - Ultra Compact */
    .btn-icon-only {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        max-width: 28px !important;
        padding: 0 !important;
        font-size: 0.9rem !important;
    }
    
    /* Social Buttons - Ultra Compact */
    .social-btn {
        min-width: 70px !important;
        max-width: 110px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
        height: 32px !important;
    }
    
    /* Toggle Buttons - Ultra Compact */
    .toggle-btn {
        min-width: 50px !important;
        max-width: 80px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
        height: 28px !important;
    }
    
    /* Floating Action Buttons - Compact */
    .fab {
        width: 40px !important;
        height: 40px !important;
        font-size: 1rem !important;
    }
    
    .fab-sm {
        width: 32px !important;
        height: 32px !important;
        font-size: 0.8rem !important;
    }
    
    /* Split Buttons - Ultra Compact */
    .btn-split .btn:first-child {
        flex: 1 !important;
        min-width: 40px !important;
        max-width: calc(100% - 30px) !important;
    }
    
    .btn-split .btn:last-child {
        width: 30px !important;
        min-width: 30px !important;
        max-width: 30px !important;
        padding: 0 !important;
    }
    
    /* Dropdown Buttons - Ultra Compact */
    .btn-dropdown {
        padding-right: 1rem !important;
        min-width: 60px !important;
        max-width: 100px !important;
    }
    
    /* Specific Dashboard Button Optimizations */
    
    /* Student Dashboard */
    .dashboard-section .btn {
        min-width: 55px !important;
        max-width: 95px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.68rem !important;
        height: 30px !important;
    }
    
    /* Migrant Dashboard */
    .demandes-section .btn {
        min-width: 60px !important;
        max-width: 100px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
        height: 32px !important;
    }
    
    /* Intervenant Dashboard */
    .intervenant-section .btn {
        min-width: 58px !important;
        max-width: 98px !important;
        padding: 0.28rem 0.45rem !important;
        font-size: 0.69rem !important;
        height: 31px !important;
    }
    
    /* Admin Dashboard */
    .admin-section .btn {
        min-width: 62px !important;
        max-width: 105px !important;
        padding: 0.32rem 0.52rem !important;
        font-size: 0.71rem !important;
        height: 33px !important;
    }
    
    /* Button Text Optimization */
    .btn {
        letter-spacing: -0.01em !important;
        word-spacing: -0.02em !important;
    }
    
    .btn i {
        flex-shrink: 0 !important;
    }
    
    .btn span {
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        min-width: 0 !important;
    }
    
    /* Button Container Width Optimization */
    .btn-container {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .btn-container .btn {
        width: calc(50% - 0.25rem) !important;
        max-width: calc(50% - 0.25rem) !important;
    }
    
    .btn-container.three .btn {
        width: calc(33.33% - 0.33rem) !important;
        max-width: calc(33.33% - 0.33rem) !important;
    }
    
    .btn-container.four .btn {
        width: calc(25% - 0.38rem) !important;
        max-width: calc(25% - 0.38rem) !important;
    }
    
    /* Inline Button Optimization */
    .inline-buttons {
        display: flex !important;
        gap: 0.25rem !important;
        flex-wrap: wrap !important;
    }
    
    .inline-buttons .btn {
        flex: 0 0 auto !important;
        min-width: 50px !important;
        max-width: 90px !important;
    }
    
    /* Button with Long Text */
    .btn.long-text {
        max-width: 120px !important;
        font-size: 0.6rem !important;
        padding: 0.2rem 0.3rem !important;
    }
    
    .btn.long-text i {
        display: none !important;
    }
    
    /* Button with Short Text */
    .btn.short-text {
        min-width: 45px !important;
        max-width: 70px !important;
        font-size: 0.7rem !important;
    }
    
    /* Emergency/Important Buttons - Slightly Larger */
    .btn.btn-primary,
    .btn.btn-success,
    .btn.btn-danger {
        min-width: 65px !important;
        max-width: 110px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
        height: 34px !important;
    }
    
    /* Secondary Buttons - Smaller */
    .btn.btn-secondary,
    .btn.btn-outline {
        min-width: 55px !important;
        max-width: 90px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.68rem !important;
        height: 30px !important;
    }
    
    /* Link-style Buttons - Most Compact */
    .btn-link {
        min-width: auto !important;
        max-width: none !important;
        padding: 0.1rem 0.2rem !important;
        font-size: 0.65rem !important;
        height: auto !important;
        background: none !important;
        border: none !important;
        color: var(--primary-color) !important;
    }
    
    /* Disabled Buttons - Maintain Size */
    .btn:disabled,
    .btn.disabled {
        min-width: inherit !important;
        max-width: inherit !important;
        opacity: 0.6 !important;
    }
}

/* Small Mobile (≤360px) - Even More Compact */
@media (max-width: 360px) {
    /* Base Button - Maximum Compact */
    .btn {
        min-width: 50px !important;
        max-width: 80px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.6rem !important;
        height: 26px !important;
    }
    
    /* Navigation - Ultra Compact */
    .navbar-actions .btn {
        min-width: 40px !important;
        max-width: 70px !important;
        padding: 0.15rem 0.25rem !important;
        font-size: 0.6rem !important;
        height: 24px !important;
    }
    
    /* Sidebar - Ultra Compact */
    .sidebar-nav a {
        min-width: auto !important;
        max-width: calc(100% - 0.8rem) !important;
        padding: 0.3rem 0.4rem !important;
        font-size: 0.7rem !important;
        height: 28px !important;
    }
    
    /* Action Buttons - Ultra Compact */
    .action-buttons .btn {
        min-width: auto !important;
        max-width: 100% !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.65rem !important;
        height: 28px !important;
    }
    
    /* Form Buttons - Ultra Compact */
    .form-actions .btn {
        min-width: auto !important;
        max-width: 100% !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.68rem !important;
        height: 32px !important;
    }
    
    /* Icon Buttons - Ultra Compact */
    .btn-icon-only {
        width: 24px !important;
        height: 24px !important;
        font-size: 0.8rem !important;
    }
    
    /* Table Actions - Ultra Compact */
    .table-actions .btn {
        min-width: 35px !important;
        max-width: 50px !important;
        padding: 0.1rem 0.15rem !important;
        font-size: 0.55rem !important;
        height: 20px !important;
    }
    
    /* Filter Tabs - Ultra Compact */
    .filter-tab {
        min-width: 40px !important;
        max-width: 65px !important;
        padding: 0.15rem 0.25rem !important;
        font-size: 0.6rem !important;
        height: 22px !important;
    }
    
    /* Emergency Buttons - Slightly Larger */
    .btn.btn-primary,
    .btn.btn-success,
    .btn.btn-danger {
        min-width: 55px !important;
        max-width: 90px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.65rem !important;
        height: 30px !important;
    }
}

/* Large Mobile (481px-568px) - Optimized Compact */
@media (min-width: 481px) and (max-width: 568px) {
    /* Base Button - Optimized Width */
    .btn {
        min-width: 65px !important;
        max-width: 110px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.75rem !important;
        height: 34px !important;
    }
    
    /* Navigation - Optimized */
    .navbar-actions .btn {
        min-width: 55px !important;
        max-width: 95px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.7rem !important;
        height: 30px !important;
    }
    
    /* Sidebar - Optimized */
    .sidebar-nav a {
        min-width: auto !important;
        max-width: calc(100% - 1.2rem) !important;
        padding: 0.5rem 0.6rem !important;
        font-size: 0.8rem !important;
        height: 36px !important;
    }
    
    /* Action Buttons - Optimized */
    .action-buttons .btn {
        min-width: auto !important;
        max-width: 100% !important;
        padding: 0.35rem 0.6rem !important;
        font-size: 0.75rem !important;
        height: 36px !important;
    }
    
    /* Form Buttons - Optimized */
    .form-actions .btn {
        min-width: auto !important;
        max-width: 100% !important;
        padding: 0.4rem 0.7rem !important;
        font-size: 0.78rem !important;
        height: 40px !important;
    }
    
    /* Icon Buttons - Optimized */
    .btn-icon-only {
        width: 32px !important;
        height: 32px !important;
        font-size: 1rem !important;
    }
    
    /* Table Actions - Optimized */
    .table-actions .btn {
        min-width: 45px !important;
        max-width: 70px !important;
        padding: 0.2rem 0.3rem !important;
        font-size: 0.65rem !important;
        height: 28px !important;
    }
    
    /* Filter Tabs - Optimized */
    .filter-tab {
        min-width: 60px !important;
        max-width: 95px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.7rem !important;
        height: 30px !important;
    }
}

/* Landscape Mobile - Compact Height */
@media (max-width: 768px) and (orientation: landscape) {
    .btn {
        height: 28px !important;
        padding: 0.2rem 0.4rem !important;
        font-size: 0.65rem !important;
    }
    
    .navbar-actions .btn {
        height: 24px !important;
        padding: 0.15rem 0.3rem !important;
        font-size: 0.6rem !important;
    }
    
    .sidebar-nav a {
        height: 30px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
    }
    
    .action-buttons .btn {
        height: 30px !important;
        padding: 0.25rem 0.4rem !important;
        font-size: 0.68rem !important;
    }
    
    .form-actions .btn {
        height: 32px !important;
        padding: 0.3rem 0.5rem !important;
        font-size: 0.7rem !important;
    }
}

/* Touch Device Optimization - Minimum Touch Targets */
@media (hover: none) and (pointer: coarse) and (max-width: 768px) {
    .btn {
        min-height: 36px !important;
        min-width: 60px !important;
    }
    
    .btn-icon-only {
        width: 36px !important;
        height: 36px !important;
    }
    
    .table-actions .btn {
        min-height: 32px !important;
        min-width: 40px !important;
    }
    
    .filter-tab {
        min-height: 32px !important;
        min-width: 50px !important;
    }
}
