/* ============================================
   SmartCemic Mobile Shared CSS - v43
   SINGLE SOURCE OF TRUTH for mobile layouts
   
   This file loads LAST - all rules here override
   inline styles and other CSS files.
   
   EDIT THIS FILE for any mobile layout changes!
   ============================================ */

/* ============================================
   GLOBAL MOBILE RESETS
   ============================================ */
@media screen and (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
        width: 100% !important;
        max-width: 100vw !important;
    }
}

/* ============================================
   HEADER - Mobile
   ============================================ */
@media screen and (max-width: 768px) {
    .header {
        padding: 8px 12px !important;
        min-height: 50px !important;
        max-height: 56px !important;
    }
}

@media screen and (max-width: 480px) {
    .header {
        padding: 6px 10px !important;
        min-height: 46px !important;
        max-height: 52px !important;
    }
}

/* ============================================
   CONNECTION STATUS BAR - Mobile
   ============================================
   HORIZONTAL layout with badge wrapping
   Right padding provides clearance for FAB
   ============================================ */
@media screen and (max-width: 768px) {
    .connection-status-bar {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: center !important;
        padding: 10px 60px 10px 12px !important;
        gap: 8px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    
    /* Flatten nested status-section divs */
    .connection-status-bar .status-section,
    .connection-status-bar > .status-section {
        display: contents !important;
    }
    
    /* Individual status badges */
    .connection-status-bar .status-item,
    .connection-status-bar .sync-btn {
        display: inline-flex !important;
        align-items: center !important;
        flex-shrink: 0 !important;
        padding: 6px 12px !important;
        font-size: 0.72rem !important;
        white-space: nowrap !important;
        margin: 0 !important;
        gap: 6px !important;
        border-radius: 20px !important;
    }
    
    /* Badge icons */
    .connection-status-bar .status-item i,
    .connection-status-bar .sync-btn i {
        font-size: 0.7rem !important;
    }
    
    /* Status indicator dot */
    .connection-status-bar .status-dot {
        width: 6px !important;
        height: 6px !important;
        flex-shrink: 0 !important;
    }
}

@media screen and (max-width: 480px) {
    .connection-status-bar {
        padding: 8px 55px 8px 10px !important;
        gap: 6px !important;
    }
    
    .connection-status-bar .status-item,
    .connection-status-bar .sync-btn {
        padding: 5px 10px !important;
        font-size: 0.68rem !important;
    }
    
    .connection-status-bar .status-item i,
    .connection-status-bar .sync-btn i {
        font-size: 0.65rem !important;
    }
}

@media screen and (max-width: 360px) {
    .connection-status-bar {
        padding: 6px 50px 6px 8px !important;
        gap: 5px !important;
    }
    
    .connection-status-bar .status-item,
    .connection-status-bar .sync-btn {
        padding: 4px 8px !important;
        font-size: 0.62rem !important;
    }
}

/* ============================================
   ANALYTE BAR - Mobile
   ============================================ */
@media screen and (max-width: 768px) {
    .analyte-bar {
        flex-direction: column !important;
        align-items: center !important;
        padding: 14px 16px !important;
        gap: 12px !important;
    }
    
    .analyte-bar-label {
        width: 100% !important;
        justify-content: center !important;
    }
    
    #quickAnalyteBar {
        justify-content: center !important;
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
    
    .analyte-bar-right {
        width: 100% !important;
        justify-content: center !important;
    }
    
    .more-analytes-btn {
        width: auto !important;
        max-width: 100% !important;
    }
}

@media screen and (max-width: 480px) {
    .analyte-bar {
        padding: 12px !important;
        gap: 10px !important;
    }
}

/* ============================================
   MAIN CONTENT - Mobile
   ============================================ */
@media screen and (max-width: 768px) {
    .container {
        padding: 8px 6px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    .grid-2col {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    .main-col, .side-col {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .side-col {
        grid-template-columns: 1fr !important;
    }
    
    .card {
        padding: 12px 10px !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 8px 0 !important;
        border-radius: 10px !important;
        box-sizing: border-box !important;
    }
    
    .analyte-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .stats-row {
        grid-template-columns: 1fr 1fr !important;
    }
}

@media screen and (max-width: 480px) {
    .container {
        padding: 10px 6px !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .card {
        padding: 12px !important;
    }
    
    .analyte-grid {
        grid-template-columns: 1fr !important;
    }
    
    .stats-row {
        grid-template-columns: 1fr !important;
    }
}

/* ============================================
   QUICK ACTIONS PANEL - Mobile
   Displayed as horizontal top bar
   ============================================ */
@media screen and (max-width: 768px) {
    .quick-actions-panel {
        position: fixed !important;
        top: calc(60px + env(safe-area-inset-top, 0px)) !important;
        left: 0 !important;
        right: 0 !important;
        bottom: auto !important;
        flex-direction: row !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 12px !important;
        background: rgba(15, 23, 42, 0.95) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important;
        z-index: 999 !important;
    }
    
    .quick-actions-panel.hidden {
        display: none !important;
    }
    
    .quick-action-btn {
        width: 44px !important;
        height: 44px !important;
        font-size: 1rem !important;
    }
    
    .quick-action-btn .tooltip {
        display: none !important;
    }
}

@media screen and (max-width: 480px) {
    .quick-actions-panel {
        gap: 8px !important;
        padding: 8px 10px !important;
    }
    
    .quick-action-btn {
        width: 40px !important;
        height: 40px !important;
        font-size: 0.9rem !important;
    }
}

/* ============================================
   FLOATING ELEMENTS - Mobile
   ============================================ */
@media screen and (max-width: 768px) {
    /* Accessibility widget - bottom LEFT */
    .acc-widget {
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        left: 12px !important;
        right: auto !important;
    }
    
    /* Chatbot - bottom RIGHT */
    #smartcemic-chatbot-container {
        position: fixed !important;
        bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important;
        right: 12px !important;
        left: auto !important;
    }
}

/* ============================================
   FOOTER - Mobile
   4-column compact layout
   ============================================ */
@media screen and (max-width: 768px) {
    .footer-enhanced {
        padding: 40px 15px 0 !important;
    }
    
    .footer-main {
        display: block !important;
    }
    
    .footer-brand-new {
        text-align: center !important;
        margin-bottom: 30px !important;
        padding-right: 0 !important;
    }
    
    .footer-logo-new {
        justify-content: center !important;
    }
    
    .footer-social-new {
        justify-content: center !important;
    }
    
    .footer-main .footer-links-col {
        display: inline-block !important;
        width: 24% !important;
        vertical-align: top !important;
        text-align: center !important;
        padding: 0 2px !important;
    }
    
    .footer-links-col h4 {
        font-size: 0.6rem !important;
        margin-bottom: 8px !important;
    }
    
    .footer-links-col a {
        font-size: 0.65rem !important;
    }
    
    .footer-bottom-new {
        flex-direction: column !important;
        text-align: center !important;
    }
}

@media screen and (max-width: 480px) {
    .footer-main .footer-links-col {
        width: 48% !important;
        margin-bottom: 15px !important;
    }
}

/* ============================================
   END - mobile-shared.css v43
   ============================================ */
