/* Employee-only phone polish. Desktop HR screens retain their existing layout. */
.employee-phone-status { display: none; }
.employee-phone-status[hidden], .pwa-update-notice[hidden] { display: none !important; }
.pwa-update-notice {
    position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
    width: min(420px, calc(100% - 28px)); z-index: 2450;
    display: flex; align-items: center; gap: 12px; padding: 14px;
    border: 1px solid var(--border-strong, #cbd5e1); border-radius: 16px;
    color: var(--text-primary, #17334a); background: var(--surface, #fff);
    box-shadow: 0 8px 30px #0f172a20; font-size: 14px;
}
.pwa-update-notice button { min-height: 44px; margin-left: auto; }
@media (max-width: 760px) {
    .page:has(.employee-mobile-tabbar) {
        --employee-mobile-tabbar-height: 72px;
        --employee-mobile-font: "Segoe UI", system-ui, sans-serif;
        height: 100dvh !important; min-height: 100dvh !important;
    }
    .page:has(.employee-mobile-tabbar) main { height: 100dvh !important; min-height: 100dvh !important; }
    .page:has(.employee-mobile-tabbar) .content {
        height: calc(100dvh - var(--employee-mobile-header-height) - var(--employee-mobile-tabbar-space)) !important;
        padding: 16px 16px 24px !important;
        scroll-padding-block: 16px 28px;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-home { gap: 20px !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-home .employee-mobile-hero-card {
        min-height: 150px !important; padding: 22px 86px 22px 20px !important;
        border-radius: 22px !important; box-shadow: 0 8px 20px #0f766e20 !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-hero-card h1 {
        font-size: clamp(25px, 7vw, 32px) !important; line-height: 1.16 !important;
        margin-bottom: 12px !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-eyebrow {
        font-size: 10px !important; letter-spacing: .1em !important; line-height: 1.4 !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-hero-line { font-size: 12px !important; line-height: 1.5 !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-quick-links-heading { margin: 0 0 -8px !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-quick-links-heading h2 { font-size: 16px !important; line-height: 1.4 !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-glance-grid {
        display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-home .employee-mobile-glance-card {
        min-height: 124px !important; height: 124px !important; aspect-ratio: auto !important;
        padding: 16px 12px !important; gap: 8px !important;
        border-radius: 18px !important; border: 1px solid var(--border, #dce7eb) !important;
        box-shadow: 0 3px 12px #0f172a06 !important; text-decoration: none;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-glance-card strong { font-size: 14px !important; line-height: 1.35 !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-glance-card small { display: block; font-size: 11px; line-height: 1.4; color: var(--text-muted, #586c7f); }
    .page:has(.employee-mobile-tabbar) .employee-mobile-glance-card.is-file-leave small { color: #795400; background: #fff5d6; border-radius: 20px; padding: 2px 8px; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-announcements,
    .page:has(.employee-mobile-tabbar) .employee-mobile-requests-card {
        padding: 16px !important; border-radius: 18px !important;
        border: 1px solid var(--border, #dce7eb) !important; box-shadow: none !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-announcement-viewport {
        overflow-x: auto !important; overflow-y: hidden !important; scroll-snap-type: x mandatory;
        scrollbar-width: thin; overscroll-behavior-x: contain; padding-bottom: 6px;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-announcement-track {
        display: flex !important; gap: 12px !important; width: 100% !important;
        animation: none !important; transform: none !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-announcement-card {
        flex: 0 0 92% !important; min-width: 0 !important; width: auto !important;
        scroll-snap-align: start; white-space: normal; margin: 0 !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-announcement-card[aria-hidden="true"] { display: none !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-request-tabs { gap: 6px !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-request-tabs button { min-height: 68px; padding: 10px 4px !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-request-tabs button span { font-size: 11px !important; line-height: 1.35; white-space: normal; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-tabbar {
        z-index: 2400 !important;
        height: calc(72px + env(safe-area-inset-bottom)) !important;
        padding: 8px 6px calc(8px + env(safe-area-inset-bottom)) !important;
        border-top: 1px solid var(--border, #dce7eb) !important; box-shadow: 0 -4px 20px #0f172a08 !important;
    }
    .page:has(.employee-mobile-tabbar) .employee-mobile-tab { min-height: 52px !important; border-radius: 12px !important; gap: 4px !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-tab strong { font-size: 10px !important; line-height: 1.2 !important; white-space: normal !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-tab.active { background: #e5f4f1 !important; color: #0b6b64 !important; }
    .page:has(.employee-mobile-tabbar) .employee-mobile-more-panel a { min-height: 44px; display: flex; align-items: center; }
    .page:has(.employee-mobile-tabbar) :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) { font-size: 16px !important; }
    .page:has(.employee-mobile-tabbar) :is(a, button, summary, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid #168d83 !important; outline-offset: 3px; }
    .page:has(.employee-mobile-tabbar) .pwa-install-notice-bottom {
        left: 12px !important; right: 12px !important; bottom: calc(var(--employee-mobile-tabbar-space) + 12px) !important;
        width: auto !important; max-width: none !important; z-index: 2410 !important;
    }
    body:has(.employee-mobile-tabbar) .pwa-update-notice { bottom: calc(84px + env(safe-area-inset-bottom)); }
    .page:has(.employee-mobile-tabbar) .employee-phone-status { display: block; margin: 0 0 16px; padding: 12px 14px; border-radius: 12px; background: #fff5d6; color: #684500; font-size: 13px; line-height: 1.5; }
    .page:has(.employee-mobile-tabbar) :is(.employee-request-form-backdrop, .employee-announcement-detail-modal, .employee-dashboard-dialog) { z-index: 2500 !important; }
    .page:has(.employee-mobile-tabbar) .employee-request-form { max-height: calc(100dvh - 32px); overflow-y: auto; }
    @media (prefers-reduced-motion: reduce) {
        .page:has(.employee-mobile-tabbar) .employee-mobile-home,
        .page:has(.employee-mobile-tabbar) .employee-mobile-home * { animation: none !important; transition: none !important; }
    }
}
