/* RC14.0 · Native app shell. Rules are inert in the browser. */
html.is-native-app{
  --native-top:env(safe-area-inset-top,0px);
  --native-bottom:env(safe-area-inset-bottom,0px);
  --native-header:56px;
  --native-nav:62px;
  overscroll-behavior:none;
  background:#f7f8fb;
}
html.is-native-app[data-theme="dark"]{background:#0b0f18}
html.is-native-app,html.is-native-app body{width:100%;min-height:100%;overflow:hidden}
html.is-native-app body{background:var(--app-bg,#f7f8fb);-webkit-tap-highlight-color:transparent}
html.is-native-app body.is-guest .brand-panel,
html.is-native-app .desktop-topbar,
html.is-native-app .desktop-sidebar,
html.is-native-app .desktop-rail,
html.is-native-app .guest-desktop-footer,
html.is-native-app .desktop-sidebar-footer,
html.is-native-app .global-app-footer,
html.is-native-app .pilot-feedback-fab,
html.is-native-app .pwa-install-card,
html.is-native-app [data-pwa-install],
html.is-native-app .pwa-update-banner{display:none!important}
html.is-native-app .site-shell,
html.is-native-app .authenticated-shell,
html.is-native-app .guest-shell{display:block!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;padding:0!important;margin:0!important;background:transparent!important}
html.is-native-app .phone-stage{display:block!important;width:100%!important;height:100dvh!important;min-height:100dvh!important;padding:0!important;margin:0!important}
html.is-native-app .phone-frame,
html.is-native-app .authenticated-shell .phone-frame{width:100%!important;height:100dvh!important;min-height:100dvh!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:var(--app-surface,#fff)!important}
html.is-native-app .app-header,
html.is-native-app body[data-route="home"] .app-header,
html.is-native-app .authenticated-shell .app-header{
  display:flex!important;
  position:absolute!important;
  inset:0 0 auto 0!important;
  height:calc(var(--native-header) + var(--native-top))!important;
  min-height:calc(var(--native-header) + var(--native-top))!important;
  padding:var(--native-top) 12px 0!important;
  border-bottom:1px solid color-mix(in srgb,var(--line,#e5e8ef) 84%,transparent)!important;
  background:color-mix(in srgb,var(--surface,#fff) 94%,transparent)!important;
  backdrop-filter:blur(18px) saturate(1.25)!important;
  z-index:900!important;
}
html.is-native-app .app-header .mini-brand{width:34px!important;height:34px!important}
html.is-native-app .app-header .header-title strong{font-size:15px!important}
html.is-native-app .app-header .header-title small{font-size:10px!important}
html.is-native-app .app-header .icon-btn,
html.is-native-app .app-header .header-avatar-link,
html.is-native-app .app-header .global-theme-toggle{width:38px!important;height:38px!important;min-width:38px!important;border-radius:13px!important}
html.is-native-app .screen,
html.is-native-app .authenticated-shell .screen{
  position:absolute!important;
  inset:calc(var(--native-header) + var(--native-top)) 0 calc(var(--native-nav) + var(--native-bottom))!important;
  width:auto!important;
  height:auto!important;
  padding-bottom:18px!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch;
  background:var(--app-bg,#f7f8fb)!important;
}
html.is-native-app body:not(.has-bottom-nav) .screen{bottom:var(--native-bottom)!important}
html.is-native-app .bottom-nav,
html.is-native-app .authenticated-shell .bottom-nav{
  display:grid!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:calc(var(--native-nav) + var(--native-bottom))!important;
  padding:4px 8px var(--native-bottom)!important;
  border-top:1px solid color-mix(in srgb,var(--line,#e5e8ef) 88%,transparent)!important;
  background:color-mix(in srgb,var(--surface,#fff) 95%,transparent)!important;
  backdrop-filter:blur(20px) saturate(1.25)!important;
  box-shadow:0 -10px 34px rgba(24,31,62,.07)!important;
  z-index:950!important;
}
html.is-native-app .bottom-nav>a,
html.is-native-app .bottom-nav>button{min-height:54px!important;padding:5px 2px 3px!important;border-radius:14px!important}
html.is-native-app .bottom-nav small{font-size:9px!important;margin-top:2px!important}
html.is-native-app .bottom-nav .nav-create{width:50px!important;height:50px!important;min-height:50px!important;align-self:start!important;margin:-10px auto 0!important;border:4px solid var(--surface,#fff)!important;box-shadow:0 8px 22px rgba(92,53,245,.28)!important}
html.is-native-app .route-home,
html.is-native-app .route-nearby,
html.is-native-app .route-create,
html.is-native-app .route-profile,
html.is-native-app .route-inbox,
html.is-native-app .route-services,
html.is-native-app .route-service-market{max-width:720px!important;margin:0 auto!important}
html.is-native-app body.is-guest .screen{background:var(--app-bg,#f7f8fb)!important}
html.is-native-app body.is-guest .auth-page,
html.is-native-app body.is-guest .public-home{min-height:100%!important}
html.is-native-app .active-task-dock{position:fixed!important;left:10px!important;right:10px!important;bottom:calc(var(--native-nav) + var(--native-bottom) + 8px)!important;z-index:940!important}
html.is-native-app .cookie-consent-banner{left:10px!important;right:10px!important;bottom:calc(var(--native-nav) + var(--native-bottom) + 10px)!important;max-width:none!important}
html.is-native-app [role="dialog"],
html.is-native-app .quick-launcher>section,
html.is-native-app .cookie-settings-sheet>section,
html.is-native-app .smart-match-sheet>section{
  max-height:calc(100dvh - var(--native-top) - 12px)!important;
  margin-top:calc(var(--native-top) + 6px)!important;
  padding-bottom:max(14px,var(--native-bottom))!important;
}
html.is-native-app input,
html.is-native-app textarea,
html.is-native-app select{font-size:16px!important}
html.is-native-app .leaflet-container{touch-action:pan-x pan-y pinch-zoom}
html.is-native-app .native-network-banner{
  position:fixed;z-index:1200;top:calc(var(--native-top) + 8px);left:50%;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:8px 12px;border-radius:999px;
  background:#242936;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.2);font-size:11px;font-weight:850
}
html.is-native-app .native-network-banner[hidden]{display:none!important}
html.is-native-app .native-network-banner small{color:#d8dce5;font-size:10px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html.is-native-app[data-theme="dark"] .phone-frame,
html.is-native-app[data-theme="dark"] .app-header,
html.is-native-app[data-theme="dark"] .bottom-nav{--surface:#121722;--app-surface:#121722;--app-bg:#0b0f18;color:#edf1f8}
@media(min-width:760px){
  html.is-native-app .phone-frame{max-width:760px!important;margin:0 auto!important;border-left:1px solid var(--line,#e6e8ef)!important;border-right:1px solid var(--line,#e6e8ef)!important}
}
