/* r51: MVLine Corp Workspace for Android. Everything here is scoped to html.mv-app (the app's WebView); the website is unchanged.
   The phone layout itself (bottom navigation, More sheet, full-width dialogs) is the workspace's own at <= 760px. */
html.mv-app{--mv-top:var(--safe-area-inset-top,env(safe-area-inset-top,0px));-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}
html.mv-app body{overscroll-behavior-y:none}
html.mv-app .mobile-nav,html.mv-app .topbar,html.mv-app .welcome-header{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

/* The status bar sits over the page (edge to edge); the navy top bar runs under it. */
html.mv-app .topbar{padding-top:var(--mv-top);height:calc(74px + var(--mv-top))}
html.mv-app .welcome-header{padding-top:var(--mv-top)}
html.mv-app .skip-main{display:none}

/* Signed out: a sign-in screen, not the public front page. */
html.mv-app .welcome-header nav,html.mv-app .welcome-skip,html.mv-app .welcome-hero-media,html.mv-app .welcome-motion,html.mv-app .welcome-intro,
html.mv-app .welcome-scene,html.mv-app .welcome-ribbon,html.mv-app #welcome-workspace,html.mv-app #welcome-training,html.mv-app #welcome-careers,
html.mv-app #welcome-incident,html.mv-app #welcome-leadership,html.mv-app .welcome-footer{display:none!important}
html.mv-app .welcome-header{position:sticky;top:0}
html.mv-app .welcome-header-inner{justify-content:center}
html.mv-app .welcome-hero{min-height:0;padding:0;background:linear-gradient(#051f73 0 190px,#f6f7f3 190px)!important}
html.mv-app .welcome-hero::before,html.mv-app .welcome-hero::after,html.mv-app .welcome-hero-inner::before,html.mv-app .welcome-hero-inner::after{display:none!important}
html.mv-app .welcome-hero-inner{display:block;min-height:0;padding:20px 0 calc(24px + env(safe-area-inset-bottom))}
html.mv-app .welcome-access{margin:0 auto;width:min(460px,100%)}
html.mv-app .mv-app-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:18px auto 0;font-size:14px}
html.mv-app .mv-app-links a,html.mv-app .mv-app-links button{color:#16388d;font:600 14px Inter,Arial,sans-serif;background:none;border:0;padding:10px 4px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* Offline banner */
#mv-offline{position:fixed;left:12px;right:12px;top:calc(var(--mv-top,0px) + 8px);z-index:1000;padding:10px 14px;border-radius:12px;background:#1d7a3a;color:#fff;font:600 14px/1.4 Inter,Arial,sans-serif;text-align:center;box-shadow:0 8px 24px #03164f40;transform:translateY(-140%);opacity:0;transition:transform .25s,opacity .25s;pointer-events:none}
#mv-offline.offline{background:#7a1d2a}
#mv-offline.show{transform:none;opacity:1}

/* Snackbar for downloads */
#mv-snack{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:1000;display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;border-radius:12px;background:#03164f;color:#fff;font:500 14px/1.4 Inter,Arial,sans-serif;box-shadow:0 10px 30px #03164f55;transform:translateY(20px);opacity:0;transition:transform .2s,opacity .2s;pointer-events:none}
#mv-snack.show{transform:none;opacity:1;pointer-events:auto}
#mv-snack span{flex:1}
#mv-snack button{min-height:40px;padding:8px 14px;border:0;border-radius:9px;background:#b8dc19;color:#03164f;font:700 14px Inter,Arial,sans-serif}

/* Update sheet */
dialog.mv-sheet{position:fixed;inset:auto 0 0 0;border:0;padding:0;margin:0 auto;width:100%;max-width:560px;height:auto;max-height:85vh;overflow:auto;border-radius:20px 20px 0 0;background:#fff;color:#142443;font:15px/1.55 Inter,Arial,sans-serif;box-shadow:0 -10px 40px #03164f40}
dialog.mv-sheet::backdrop{background:#03164f80}
.mv-sheet-body{padding:24px 22px 8px}
.mv-sheet h2{font:600 22px/1.25 'Playfair Display',Georgia,serif;color:#071c65;margin:0 0 10px}
.mv-sheet p{margin:0 0 10px}
.mv-sheet ul{margin:0 0 6px;padding-left:20px}
.mv-sheet-foot{display:flex;gap:10px;padding:12px 22px calc(18px + env(safe-area-inset-bottom))}
.mv-btn{flex:1;min-height:48px;border-radius:12px;border:1px solid #c9d1e3;background:#fff;color:#071c65;font:700 15px Inter,Arial,sans-serif}
.mv-btn.primary{background:#b8dc19;border-color:#b8dc19;color:#03164f}
@media(prefers-reduced-motion:reduce){#mv-offline,#mv-snack{transition:none}}

/* r54: iPhone "Add to Home Screen" guide and invitation (website, iPhone/iPad, not yet on the Home Screen). */
.mv-steps{margin:4px 0 10px;padding-left:22px}
.mv-steps li{margin:0 0 10px}
.mv-ios-share{width:20px;height:20px;vertical-align:-4px;color:#0a66d8;margin:0 2px}
.mv-muted{color:#4b5672;font-size:14px}
.mv-ios-arrow{text-align:center;font-size:30px;line-height:1;color:#0a66d8;animation:mv-bob 1.2s ease-in-out infinite}
@keyframes mv-bob{50%{transform:translateY(6px)}}
#mv-ios-promo{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:900;display:flex;align-items:center;gap:12px;padding:10px 10px 10px 12px;border-radius:16px;background:#fff;border:1px solid #e1e6f0;box-shadow:0 12px 32px #03164f33;font:14px/1.35 Inter,Arial,sans-serif;color:#33405e;max-width:520px;margin:0 auto}
#mv-ios-promo img{border-radius:10px;flex:none}
#mv-ios-promo span{flex:1}
#mv-ios-promo b{display:block;color:#071c65}
#mv-ios-promo .mv-btn{flex:none;min-height:40px;padding:0 16px}
.mv-ios-promo-x{flex:none;width:36px;height:36px;border:0;background:none;font-size:22px;color:#657086;cursor:pointer}
@media(prefers-reduced-motion:reduce){.mv-ios-arrow{animation:none}}
