/* RXOPD cumulative UI safety: restrained chrome and popup repair, no OPD/Billing/Lab skin changes. */
html,body{max-width:100%;min-width:0}
.rx-testing-fault-modal[hidden],.rx-index-login-overlay[hidden]{display:none!important}
.rx-testing-fault-modal:not([hidden]){position:fixed!important;inset:0!important;z-index:2147482000!important;max-width:100vw!important;max-height:100dvh!important;overflow-y:auto!important;overscroll-behavior:contain;padding-top:max(12px,env(safe-area-inset-top))!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
.rx-testing-fault-modal:not([hidden]) > header{position:sticky!important;top:0!important;z-index:5!important;background:inherit}
.rx-testing-fault-close{position:relative!important;z-index:10!important;min-width:44px!important;min-height:44px!important;touch-action:manipulation!important;cursor:pointer}
.rx-testing-fault-modal:not([hidden]) [data-rx-fault-close]{pointer-events:auto!important}
@media(max-width:680px){.rx-testing-fault-modal:not([hidden]){width:100vw!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;border-radius:0!important}.rx-testing-fault-modal:not([hidden])>header{padding-top:max(12px,env(safe-area-inset-top))}}

/* OPD booking: viewport fills on mobile with an always reachable cross button;
   do not change booking form/appointment logic, icons, colors or controls. */
body.rx-role-shell .rxopd-booking-modal:not([hidden]){z-index:2147482100!important;isolation:isolate}
body.rx-role-shell .rxopd-booking-modal:not([hidden]) .rxopd-booking-dialog{min-width:0;overscroll-behavior:contain}
body.rx-role-shell .rxopd-booking-modal:not([hidden]) .rxopd-booking-close{position:sticky!important;float:right!important;top:calc(8px + env(safe-area-inset-top))!important;right:8px!important;z-index:15!important;min-width:44px!important;min-height:44px!important;margin-bottom:-44px;touch-action:manipulation;pointer-events:auto!important}
@media(max-width:760px){
 body.rx-role-shell .rxopd-booking-modal:not([hidden]){inset:0!important;padding:0!important;align-items:stretch!important;overflow:hidden!important}
 body.rx-role-shell .rxopd-booking-modal:not([hidden]) .rxopd-booking-dialog{border-radius:0!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;padding-top:env(safe-area-inset-top)!important;padding-bottom:env(safe-area-inset-bottom)!important}
 body.rx-role-shell .rxopd-booking-modal:not([hidden]) .rxopd-booking-dialog-head{padding-right:60px!important}
}
