/* YVEXOR build 132 — règles réellement communes uniquement. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:#06111f}
html,body{margin:0;max-width:100%}
body{min-height:100dvh;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}

/* Landing v152: video verticale non deformee, entourage noir jusque dans les safe areas iOS. */
html.landing-portal,
html.landing-portal body,
body.landing-portal,
html.landing-portal body #restaurantPortal,
html.landing-portal body #restaurantPortal.yvexor-landing,
html.landing-portal body #restaurantPortal.yvexor-landing > section,
html.landing-portal body #restaurantPortal.yvexor-landing .landing-media,
html.landing-portal body #restaurantPortal.yvexor-landing .landing-media video {
  background-color:#000 !important;
  background-image:none !important;
}
html.landing-portal body {padding-left:0 !important;padding-right:0 !important}
html.landing-portal body #restaurantPortal.yvexor-landing .landing-media::after {
  background:linear-gradient(180deg,transparent 70%,#000 100%) !important;
}
button,a,[role="button"],input,select,textarea{touch-action:manipulation}
img,svg,canvas{display:block;max-width:100%}
#app,#ownerPortal,.os-app,.os-app>main,.os-app-main,.owner-shell,.owner-main,.service-shell,.service-main{width:100%;min-width:0;max-width:100%}
.os-app>*,.os-app>main>*{min-width:0;max-width:100%}
#modal{padding:12px}
#modal .modal-card{width:min(540px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#modal .modal-card>*{min-width:0;max-width:100%}
#modal .modal-card.restaurant-config-modal{width:min(1080px,calc(100vw - 24px))}
#modal .modal-card.menu-os-card{width:min(780px,calc(100vw - 24px));padding:0;overflow:auto}
.menu-os-modal,.menu-os-list,.menu-os-rows,.menu-os-row,.os-floor-admin,.os-floor-overview,.os-floor-zone,.os-floor-list{width:100%;min-width:0;max-width:100%}
.menu-os-cats,.os-floor-nav{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}
.os-floor-kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.os-floor-zone>div,.os-floor-table-grid{grid-template-columns:repeat(auto-fit,minmax(64px,1fr));min-width:0}
@media (pointer:coarse){input,select,textarea{font-size:16px}}
@media (max-width:700px){
  #modal{padding:0;align-items:stretch}
  #modal .modal-card,#modal .modal-card.menu-os-card,#modal .modal-card.restaurant-config-modal{width:100%;max-width:100%;min-height:100dvh;max-height:100dvh;border-radius:0}
  .menu-os-modal{min-height:100dvh;padding:calc(14px + env(safe-area-inset-top)) 14px calc(22px + env(safe-area-inset-bottom))}
  .os-floor-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:390px){.os-floor-kpis{grid-template-columns:1fr}}
