/* MOBILE RESPONSIVE FIX - Upload & Stats */
@media (max-width: 768px) {
    body {
        padding: 10px !important;
    }
    
    .container {
        padding: 10px !important;
        width: 100% !important;
    }
    
    /* CRITICAL: Override grid-2 layout */
    .grid-2 {
        display: block !important;
        width: 100% !important;
    }
    
    .grid-2 > .card,
    .grid-2 > * {
        width: 100% !important;
        display: block !important;
        margin-bottom: 20px !important;
    }
    
    /* Force all cards to full width */
    .card {
        width: 100% !important;
        display: block !important;
        margin-bottom: 20px !important;
    }
    
    /* Upload form */
    .form-group {
        width: 100% !important;
    }
    
    input[type="file"],
    input[type="text"],
    select,
    button,
    .btn {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Stats grid - SINGLE COLUMN */
    .stats-grid,
    .grid-2 .stat-card {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 15px !important;
    }
    
    .stat-box,
    .stat-card {
        width: 100% !important;
    }
    
    /* Navbar */
    .navbar {
        flex-direction: column !important;
        padding: 10px !important;
    }
    
    .navbar-user {
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    .navbar-username {
        display: none !important;
    }
    
    /* Headers */
    .page-header h1 {
        font-size: 20px !important;
    }
    
    .card-header {
        font-size: 16px !important;
    }
    
    /* Buttons full width */
    .btn-group {
        display: flex !important;
        flex-direction: column !important;
        gap: 10px !important;
    }
    
    /* ALL TABLES - Horizontal Scroll + Swipe */
    .table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        width: 100% !important;
        position: relative !important;
        margin-bottom: 15px !important;
    }
    
    .table-container table {
        min-width: 500px !important;
        font-size: 13px !important;
        width: 100% !important;
    }
    
    .table-container th,
    .table-container td {
        padding: 10px 8px !important;
        white-space: nowrap !important;
        border-bottom: 1px solid #dfe6e9 !important;
    }
    
    .table-container th {
        font-size: 12px !important;
        background-color: #f8f9fa !important;
        font-weight: 600 !important;
    }
    
    /* Swipe indicator */
    .table-container::after {
        content: '← Swipe →' !important;
        position: absolute !important;
        bottom: 5px !important;
        right: 10px !important;
        font-size: 11px !important;
        color: #636e72 !important;
        background: rgba(255,255,255,0.9) !important;
        padding: 3px 8px !important;
        border-radius: 4px !important;
        pointer-events: none !important;
    }
    
    /* Action buttons in table */
    .table-actions {
        display: flex !important;
        gap: 5px !important;
        flex-wrap: nowrap !important;
    }
    
    .table-actions .btn {
        padding: 6px 10px !important;
        font-size: 12px !important;
        white-space: nowrap !important;
    }
    
    /* RESULTS CARDS - Stack vertically on mobile */
    .results-grid,
    .stats-grid,
    .charts-grid {
        display: block !important;
        width: 100% !important;
    }
    
    .results-grid > .card,
    .stats-grid > .card,
    .charts-grid > .card,
    .result-card,
    .chart-card {
        width: 100% !important;
        display: block !important;
        margin-bottom: 20px !important;
    }
    
    .result-card {
        padding: 15px !important;
    }
    
    .result-header {
        font-size: 16px !important;
        margin-bottom: 10px !important;
    }
    
    .result-value {
        font-size: 24px !important;
        font-weight: 700 !important;
        color: #667eea !important;
    }
    
    .result-label {
        font-size: 13px !important;
        color: #636e72 !important;
    }
    
    /* Charts full width */
    .chart-container,
    .plotly-graph-div {
        width: 100% !important;
        height: 300px !important;
        min-height: 250px !important;
    }
    
    /* Regression results table */
    .regression-table-container {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .regression-table {
        min-width: 500px !important;
        font-size: 12px !important;
    }
    
    /* Monte Carlo stats */
    .mc-stats-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    
    .mc-stat-box {
        padding: 15px !important;
    }
    
    .mc-stat-value {
        font-size: 20px !important;
    }
    
    .mc-stat-label {
        font-size: 12px !important;
    }
}
