/* ── iHealth v2 — FAB + Overlay isolation ── */
/* All modal CSS lives in app.js as injected <style> — fully isolated */

#ih-fab {
    position: fixed !important;
    bottom: 24px !important;
    right: 24px !important;
    z-index: 2147483640 !important;
    width: 52px !important;
    height: 52px !important;
    background: #ff3b30 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: 0 4px 18px rgba(255,59,48,.5) !important;
    animation: ih-pulse 1.6s ease-in-out infinite !important;
    transition: transform .15s !important;
}
#ih-fab:hover { transform: scale(1.08) !important; }
#ih-fab svg { pointer-events: none !important; display: block !important; }

@keyframes ih-pulse {
    0%, 100% { box-shadow: 0 4px 18px rgba(255,59,48,.5); }
    50%       { box-shadow: 0 4px 28px rgba(255,59,48,.8); }
}

#ih-overlay {
    display: none;
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483638 !important;
    background: rgba(0,0,0,.55) !important;
    align-items: flex-end !important;
    justify-content: center !important;
    transition: opacity .25s !important;
}
#ih-overlay.ih-open {
    display: flex !important;
}

#ih-modal {
    position: relative !important;
    width: 100% !important;
    max-width: 480px !important;
    height: 90vh !important;
    background: #f2f2f7 !important;
    border-radius: 20px 20px 0 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    transform: translateY(20px) !important;
    transition: transform .25s !important;
}
#ih-overlay.ih-open #ih-modal {
    transform: translateY(0) !important;
}
