:root{--oilora-perf-transition:160ms ease}
html{scroll-behavior:auto}
body{min-height:100vh}
.oilora-offline-bar{position:fixed;z-index:99999;inset:0 0 auto 0;padding:8px 16px;text-align:center;background:#8a5a08;color:#fff;font:600 12px/1.7 "Yekan Bakh Oilora",Tahoma,sans-serif;box-shadow:0 4px 16px rgba(0,0,0,.14)}
.oilora-offline-bar[hidden]{display:none!important}
[data-oilora-lazy-section],.dashboard-section,.route-card,.public-section,.settings-panel,.analytics-section,.commerce-section,.crm-section{content-visibility:auto;contain-intrinsic-size:1px 640px}
img[loading="lazy"]{content-visibility:auto}
.oilora-perf-loading{opacity:.68;pointer-events:none;transition:opacity var(--oilora-perf-transition)}
.oilora-route-ready{animation:oiloraRouteReady .18s ease-out both}
@keyframes oiloraRouteReady{from{opacity:.72}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.oilora-route-ready{animation:none}.oilora-perf-loading{transition:none}}

/* Hide the public static fallback on direct Auth/Admin/Customer boots; route CSS is injected in <head> before app render. */
html[data-oilora-bootstrap-group]:not([data-oilora-bootstrap-group="public"]) .public-static-fallback{visibility:hidden}
html[data-oilora-route-assets="partial"] body::after{content:"";position:fixed;inset:auto 12px 12px auto;width:8px;height:8px;border-radius:50%;background:#b7791f;z-index:99998}
@media print{.oilora-offline-bar{display:none!important}}
