/* Global Mobile Responsiveness for Employee Attendance and Payroll System (EAPS) */

@media screen and (max-width: 768px) {
    html {
        scroll-behavior: smooth !important;
    }

    /* =========================================
       1. Global Reset & Background 
       ========================================= */
    * {
        -webkit-tap-highlight-color: transparent !important;
        touch-action: manipulation !important;
    }

    body {
        padding: 0 !important;
        background-color: #F3F4F6 !important; /* Soft mobile background */
        padding-bottom: 90px !important; /* Space for bottom nav */
    }

    .container {
        padding: 15px !important;
        margin: 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100vh !important;
        overflow: visible !important;
        box-sizing: border-box !important;
        box-shadow: none !important;
        background: transparent !important;
    }

    /* =========================================
       2. Headers and Top Bars 
       ========================================= */
    /* Remove default desktop gradients and make them look like native top bars */
    .container > h1:first-child,
    .page-header,
    .header-section,
    .header {
        background: #4F46E5 !important;
        color: white !important;
        margin: -15px -15px 20px -15px !important;
        padding: 25px 20px 30px 20px !important;
        border-radius: 0 0 30px 30px !important;
        font-size: 20px !important;
        font-weight: 700 !important;
        text-align: left !important;
        box-shadow: 0 4px 15px rgba(79, 70, 229, 0.2) !important;
        line-height: 1.3 !important;
        position: relative !important;
        z-index: 10 !important;
    }

    h2, h3 {
        font-size: 18px !important;
        font-weight: 700 !important;
        color: #1F2937 !important;
        margin-bottom: 15px !important;
    }

    /* =========================================
       3. Table to Native Card Conversion 
       ========================================= */
    .table-responsive {
        width: 100% !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
        padding: 0 !important;
        overflow: visible !important;
        margin-bottom: 20px !important;
    }
    
    table {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important; /* Remove desktop min-width */
        border: none !important;
        background: transparent !important;
    }

    thead, table tr th {
        display: none !important; /* Hide traditional headers completely */
    }

    tbody {
        display: block !important;
        width: 100% !important;
    }

    tr {
        display: flex !important;
        flex-direction: column !important;
        background: white !important;
        margin-bottom: 15px !important;
        border-radius: 16px !important;
        padding: 15px !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
        border: 1px solid rgba(0,0,0,0.02) !important;
    }

    td {
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 10px 0 !important;
        border: none !important;
        border-bottom: 1px solid #F9FAFB !important;
        font-size: 14px !important;
        text-align: right !important;
        color: #1F2937 !important;
    }
    
    td:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
    }

    /* Inject data labels for mobile view using JS-added attributes */
    td::before {
        content: attr(data-label);
        font-weight: 600 !important;
        font-size: 12px !important;
        color: #6B7280 !important;
        text-transform: uppercase !important;
        text-align: left !important;
        margin-right: 15px !important;
    }

    /* Fix image and button styling inside table cells */
    td img {
        border-radius: 8px !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.1) !important;
    }

    td a, td button, td .btn {
        margin: 5px 0 5px 5px !important;
        display: inline-block !important;
        padding: 6px 12px !important;
        font-size: 12px !important;
        border-radius: 8px !important;
    }

    /* =========================================
       4. Forms and Inputs 
       ========================================= */
    .form-group, .form-row, .filter-form {
        display: block !important;
        background: white !important;
        padding: 20px !important;
        border-radius: 20px !important;
        margin-bottom: 20px !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
    }

    label {
        display: block !important;
        font-size: 12px !important;
        font-weight: 600 !important;
        color: #6B7280 !important;
        margin-bottom: 8px !important;
        text-transform: uppercase !important;
    }

    input[type="text"], input[type="email"], input[type="password"], 
    input[type="date"], input[type="number"], input[type="month"], 
    select, textarea {
        width: 100% !important;
        padding: 14px 15px !important;
        border: 1px solid #E5E7EB !important;
        border-radius: 12px !important;
        font-size: 15px !important;
        background: #F9FAFB !important;
        box-sizing: border-box !important;
        color: #1F2937 !important;
        margin-bottom: 10px !important;
    }

    input.table-auto-search {
        padding-left: 15px !important;
        padding-right: 35px !important; /* Make room for the magnifying glass */
    }

    input:focus, select:focus, textarea:focus {
        border-color: #4F46E5 !important;
        outline: none !important;
        background: white !important;
    }

    /* =========================================
       5. Buttons 
       ========================================= */
    .btn, .btn-primary, .btn-success, .btn-danger, .btn-info, button[type="submit"] {
        width: 100% !important;
        padding: 16px !important;
        border-radius: 14px !important;
        font-weight: 700 !important;
        font-size: 16px !important;
        margin-bottom: 10px !important;
        box-shadow: 0 6px 12px rgba(0,0,0,0.08) !important;
        display: block !important;
        text-align: center !important;
        box-sizing: border-box !important;
        border: none !important;
        transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1), background-color 0.2s ease !important;
    }

    .btn:active, .btn-primary:active, button[type="submit"]:active {
        transform: scale(0.97) !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
    }

    /* Back Button specific fix */
    .back-btn {
        display: inline-flex !important;
        align-items: center !important;
        color: #4B5563 !important;
        background: white !important;
        border: 1px solid #E5E7EB !important;
        padding: 10px 15px !important;
        border-radius: 20px !important;
        font-weight: 500 !important;
        font-size: 14px !important;
        text-decoration: none !important;
        margin-bottom: 15px !important;
        position: relative !important;
        z-index: 100 !important;
        box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important;
    }

    /* =========================================
       6. Stat Cards (Dashboard grids)
       ========================================= */
    .dashboard-grid, .grid-container, .stats-container, .summary-grid {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 15px !important;
        margin-bottom: 20px !important;
    }

    .stat-card {
        background: white !important;
        border-radius: 20px !important;
        padding: 20px 15px !important;
        box-shadow: 0 4px 10px rgba(0,0,0,0.03) !important;
        border: none !important;
        text-align: center !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }
    
    .stat-card h3 {
        font-size: 28px !important;
        color: #4F46E5 !important;
        margin-bottom: 5px !important;
    }
    
    .stat-card p {
        font-size: 13px !important;
        color: #6B7280 !important;
        font-weight: 600 !important;
    }

    /* =========================================
       7. Misc Adjustments
       ========================================= */
    .user-info, .profile-header, .header-actions {
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        gap: 15px !important;
    }
    
    /* specific fix for avatar upload */
    .avatar-upload {
        width: 100% !important;
        text-align: center !important;
    }
}
