/* Service-specific geometry under the same platform shell. Map status colours
   remain semantic; no auth, prices, subscription or notification changes. */
#platform-shell{position:sticky;top:0;z-index:100}
.app-shell,.main{min-height:calc(100vh - var(--platform-header-height,72px))}
.sidebar{top:var(--platform-header-height,72px)}
.topbar{top:var(--platform-header-height,72px)}
@media(max-width:780px){
 body.map-active .topbar{top:var(--platform-header-height,72px)}
 body.map-active #map-view.map-mode{top:var(--platform-header-height,72px);height:calc(100dvh - var(--platform-header-height,72px))}
 body.gift-active .gift-view{height:calc(100dvh - 66px - var(--platform-header-height,72px))}
 .content-view{min-height:calc(100dvh - 160px - var(--platform-header-height,72px))}
}
@media(max-width:360px){
 .topbar,body.map-active .topbar{gap:8px}
 .mobile-brand,body.map-active .mobile-brand{font-size:16px;gap:6px}
 .report-button,body.map-active .report-button{padding-inline:10px;min-height:44px}
 .refresh-button,body.map-active .refresh-button{width:44px;min-width:44px;min-height:44px}
}
