/* Installed role apps: launch screen (shown until the app's first screen is ready, matching the
   phone's own splash) and the single install banner at the top of the header (js/app-shell.js). */
body[data-app=driver]{--simple-hero:#ea580c}
.app-launch{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:24px;text-align:center;color:#fff;font-family:Inter,"Segoe UI",system-ui,sans-serif;background:var(--simple-hero,#344c78);background:linear-gradient(170deg,var(--simple-hero,#344c78),color-mix(in srgb,var(--simple-hero,#344c78) 72%,#000))}
.app-launch img{width:108px;height:108px;margin-bottom:18px;filter:drop-shadow(0 16px 28px rgba(0,0,0,.28))}
.app-launch b{font-size:28px;font-weight:800;letter-spacing:-.01em}
.app-launch span{font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;opacity:.82}
.app-launch .app-launch-dots{display:flex;gap:7px;margin-top:30px}
.app-launch .app-launch-dots i{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.35;animation:appLaunchDot 1.2s ease-in-out infinite}
.app-launch .app-launch-dots i:nth-child(2){animation-delay:.15s}.app-launch .app-launch-dots i:nth-child(3){animation-delay:.3s}
.app-launch small{position:absolute;left:0;right:0;bottom:max(26px,env(safe-area-inset-bottom));font-size:12px;opacity:.72}
@keyframes appLaunchDot{40%{opacity:1;transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.app-launch .app-launch-dots i{animation:none;opacity:.7}}
.app-install{position:relative;z-index:1;display:flex;align-items:center;gap:10px;margin:0 0 16px;padding:8px 6px 8px 12px;border-radius:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);color:#fff;font-family:inherit}
.app-install>svg{flex:0 0 22px}
.app-install>div{flex:1;min-width:0;line-height:1.25}
.app-install b{display:block;font-size:13.5px;font-weight:800}
.app-install small{display:block;font-size:11.5px;opacity:.82;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-install .app-install-go{flex:0 0 auto;border:0;border-radius:10px;padding:8px 14px;background:#fff;color:var(--simple-hero,#344c78);font-family:inherit;font-size:13.5px;font-weight:800;line-height:1.2;cursor:pointer}
.app-install .app-install-hide{flex:0 0 28px;height:28px;border:0;padding:0;background:transparent;color:#fff;opacity:.75;font-size:20px;line-height:1;cursor:pointer}
.driver-head .app-install{margin-bottom:14px}
.app-install-help{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:16px;background:rgba(15,23,42,.45)}
.app-install-help>div{width:100%;max-width:420px;padding:20px;border-radius:18px;background:#fff;color:#1f2937;font-family:Inter,"Segoe UI",system-ui,sans-serif;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.app-install-help b{font-size:17px}.app-install-help p{margin:8px 0 16px;font-size:14px;line-height:1.5;color:#475569}
.app-install-help button{width:100%;border:0;border-radius:12px;padding:12px;background:var(--simple-hero,#344c78);color:#fff;font-family:inherit;font-size:15px;font-weight:800}
