/**
 * Comprehensive Mobile Fixes CSS
 * This file contains all the critical fixes for mobile view issues
 * Version: 1.1.0 (May 14, 2025)
 */

/* Mobile-specific styling for responsive layout */
@media (max-width: 767px) {
    /* Force mobile container visibility */
    #mobile-container, 
    .mobile-panels {
        display: block !important;
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 50px !important;
        z-index: 1000 !important;
        background-color: var(--bg-color, #121212) !important;
    }
    
    /* Mobile panels core fixes */
    .mobile-panel {
        position: fixed !important;
        top: 60px !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 50px !important;
        z-index: 100 !important;
        background-color: var(--bg-color, #121212) !important;
        overflow-y: auto !important;
        display: none !important;
    }
    
    /* Ensure active panels are shown */
    .mobile-panel.active {
        display: block !important;
    }
    
    /* Fix the chat container display in mobile chat panel */
    #mobile-chat-panel .chat-container,
    #mobile-chat-panel .panel-content .chat-container,
    .mobile-chat-wrapper .chat-container {
        display: flex !important;
        flex-direction: column !important;
        height: calc(100vh - 110px) !important;
        width: 100% !important;
        padding: 10px !important;
        max-height: none !important;
    }
    
    /* Chat messages container */
    #mobile-chat-panel .chat-messages,
    #mobile-chat-panel .panel-content .chat-messages,
    .mobile-chat-wrapper .chat-messages {
        flex: 1 !important;
        overflow-y: auto !important;
        display: block !important;
        height: auto !important;
        min-height: 200px !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* Chat input area */
    #mobile-chat-panel .chat-input-container,
    #mobile-chat-panel .panel-content .chat-input-container,
    .mobile-chat-wrapper .chat-input-container {
        position: relative !important;
        width: 100% !important;
        padding: 10px !important;
        background-color: var(--bg-secondary, rgba(20, 20, 30, 0.95)) !important;
        border-top: 1px solid var(--border-color, #333) !important;
        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
        z-index: 10 !important;
    }
    
    /* Chat form */
    #mobile-chat-panel .chat-form,
    #mobile-chat-panel .panel-content .chat-form,
    .mobile-chat-wrapper .chat-form {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }
    
    /* Chat input */
    #mobile-chat-panel .chat-input,
    #mobile-chat-panel .panel-content .chat-input,
    .mobile-chat-wrapper .chat-input {
        width: 100% !important;
        min-height: 50px !important;
        max-height: 150px !important;
        resize: none !important;
        padding: 12px !important;
        font-size: 16px !important; /* iOS minimum to prevent auto-zoom */
        border-radius: 8px !important;
        background-color: var(--input-bg, rgba(30, 30, 40, 0.6)) !important;
        color: var(--text-color, #fff) !important;
        border: 1px solid var(--border-color, #444) !important;
    }
    
    /* Chat buttons container */
    #mobile-chat-panel .chat-buttons,
    #mobile-chat-panel .panel-content .chat-buttons,
    .mobile-chat-wrapper .chat-buttons {
        display: flex !important;
        gap: 8px !important;
        width: 100% !important;
    }
    
    /* Chat button styling */
    #mobile-chat-panel button,
    #mobile-chat-panel .panel-content button,
    .mobile-chat-wrapper button {
        min-height: 44px !important; /* Minimum touch target size */
        border-radius: 6px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 15px !important;
        transition: all 0.2s ease !important;
    }
    
    /* Send button in all its forms */
    .send-button, 
    #send-button, 
    button[type="submit"],
    .chat-send-button,
    #chat-send-button {
        min-width: 44px !important;
        height: 44px !important;
        border-radius: 50% !important;
        background: linear-gradient(135deg, #00EEFF, #0088FF) !important;
        color: #000 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: none !important;
        position: absolute !important;
        right: 20px !important;
        bottom: 50% !important;
        transform: translateY(50%) !important;
        z-index: 5 !important;
        box-shadow: 0 2px 8px rgba(0, 240, 255, 0.4) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }
    
    /* Hide desktop view on mobile */
    .dashboard-main {
        display: none !important;
    }
    
    /* Panel tabs fixes */
    .panel-tabs {
        position: fixed !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        display: flex !important;
        background-color: var(--bg-secondary, rgba(20, 20, 30, 0.9)) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border-top: 1px solid var(--border-color, #333) !important;
        z-index: 1001 !important;
        height: 50px !important;
    }
    
    .panel-tab {
        flex: 1 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px !important;
        color: var(--text-muted, #aaa) !important;
        font-size: 11px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        transition: all 0.2s ease !important;
        height: 100% !important;
    }
    
    .panel-tab.active {
        color: var(--accent-color, #00f0ff) !important;
        background-color: rgba(0, 240, 255, 0.1) !important;
    }
    
    .panel-tab i {
        font-size: 18px !important;
        margin-bottom: 2px !important;
    }
    
    /* Fix for iOS devices with notch */
    @supports (padding-bottom: env(safe-area-inset-bottom)) {
        .panel-tabs {
            padding-bottom: env(safe-area-inset-bottom) !important;
            height: calc(50px + env(safe-area-inset-bottom)) !important;
        }
        
        #mobile-container,
        .mobile-panels,
        .mobile-panel {
            bottom: calc(50px + env(safe-area-inset-bottom)) !important;
        }
    }
}

/* Always ensure Settings modal is visible and properly positioned */
#settings-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.85);
    z-index: 2000;
    overflow-y: auto;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

#settings-modal.active,
#settings-modal.show,
#settings-modal.open {
    display: block !important;
}

.settings-modal-content {
    background-color: var(--modal-bg, #1a1a1a);
    border-radius: 12px;
    margin: 60px auto;
    max-width: 90%;
    width: 800px;
    max-height: 85vh;
    overflow-y: auto;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.5);
    border: 1px solid var(--border-color, #444);
    position: relative;
}

@media (max-width: 767px) {
    .settings-modal-content {
        margin: 10px auto;
        max-width: 95%;
        width: 95%;
        max-height: 95vh;
    }
}
