/* MeuHorario PRO 0.05 — gate público de dispositivo
 * Autoridade final de visibilidade para páginas públicas que oferecem
 * .public-desktop-notice + .public-mobile-experience.
 * O HTML nasce em modo mobile e só muda para desktop após detecção forte
 * realizada por public-device-gate-v005.js.
 */
html[data-mh-public-device="mobile"] body.public-body:not(.auth-layout):not(.store-private-preview){
  height:auto!important;
  min-height:100dvh!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
}
html[data-mh-public-device="mobile"] body.public-body:not(.auth-layout):not(.store-private-preview) .public-desktop-notice{
  display:none!important;
}
html[data-mh-public-device="mobile"] body.public-body:not(.auth-layout):not(.store-private-preview) .public-mobile-experience{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
}
html[data-mh-public-device="mobile"] body.public-body:not(.auth-layout):not(.store-private-preview) .public-footer{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:100%!important;
  margin-top:10px!important;
}

/* Só um desktop inequívoco recebe o aviso. */
html[data-mh-public-device="desktop"] body.public-body:not(.auth-layout):not(.store-private-preview){
  height:100dvh!important;
  min-height:100dvh!important;
  overflow:hidden!important;
}
html[data-mh-public-device="desktop"] body.public-body:not(.auth-layout):not(.store-private-preview) .public-desktop-notice{
  display:grid!important;
}
html[data-mh-public-device="desktop"] body.public-body:not(.auth-layout):not(.store-private-preview) .public-mobile-experience{
  display:none!important;
}

/* 0.06: o splash nativo do PWA permanece; a camada HTML não bloqueia a interface. */
html[data-ui-scope="public"] body.public-body .pwa-entry-splash{
  display:none!important;
  pointer-events:none!important;
}

/* 0.08: apresentação desktop. Escopo restrito à entrada pública. */
html[data-mh-public-device="desktop"] body.mh-desktop-entry{margin:0!important;height:100vh!important;height:100dvh!important;overflow:hidden!important;background:#030608!important}
html[data-mh-public-device="desktop"] body.mh-desktop-entry>.public-footer,
html[data-mh-public-device="desktop"] body.mh-desktop-entry>.public-theme-ambient{display:none!important}
html[data-mh-public-device="desktop"] body.mh-desktop-entry .mh-desktop-welcome{position:fixed!important;inset:0!important;width:100%!important;height:100vh!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;display:grid!important;place-items:center!important;background:#030608!important;color:#edf5f8!important;isolation:isolate;z-index:100!important}
html body.mh-desktop-entry .mh-desktop-welcome::before,html body.mh-desktop-entry .mh-desktop-welcome::after{display:none!important}
.mh-desktop-glow{position:absolute;inset:-15%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 32% 37%,rgba(0,117,155,.15),transparent 40%),radial-gradient(ellipse at 72% 69%,rgba(74,125,35,.09),transparent 38%);animation:mh-desktop-drift 18s ease-in-out infinite alternate}
.mh-desktop-content{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:90vw;position:relative;padding:12px 0}
.mh-desktop-logo-frame{width:min(560px,62vw,72vh);aspect-ratio:1.72;overflow:hidden;position:relative;flex:none}
html body.mh-desktop-entry img.mh-desktop-logo{position:absolute;top:0;left:0;display:block!important;width:100%!important;height:auto!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:translateY(-20%);border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.mh-desktop-copy{margin-top:12px}
.mh-desktop-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;font-weight:600;letter-spacing:.24em;color:#83a0ae}
.mh-desktop-eyebrow>span{width:5px;height:5px;border-radius:50%;background:#9ae74b;box-shadow:0 0 12px #86d93766}
html body.mh-desktop-entry .mh-desktop-copy h1{font-family:inherit;font-size:clamp(26px,2.5vw,38px);font-weight:600;line-height:1.22;letter-spacing:-.035em;margin:18px 0 16px;color:#eff5f7!important}
.mh-desktop-copy h1 em{font-style:normal;font-weight:400;color:#a8bbc3}
html body.mh-desktop-entry .mh-desktop-copy p{font-size:14px;line-height:1.8;font-weight:400;color:#8fa2ac!important;margin:0}
.mh-desktop-hint{display:flex;align-items:center;justify-content:center;gap:10px;color:#bdccd1;font-size:11px;letter-spacing:.025em;margin-top:25px}
.mh-desktop-hint svg{color:#83baca}
@keyframes mh-desktop-drift{from{transform:translate(-2%,-1%) scale(1)}to{transform:translate(3%,2%) scale(1.08)}}
@media(max-height:650px){.mh-desktop-logo-frame{width:min(440px,54vh)}.mh-desktop-copy{margin-top:4px}.mh-desktop-copy h1{margin:12px 0!important;font-size:26px!important}.mh-desktop-hint{margin-top:14px}.mh-desktop-copy p{line-height:1.6!important}}
@media(prefers-reduced-motion:reduce){.mh-desktop-glow{animation:none!important}}
html[data-mh-public-device="desktop"]{scrollbar-gutter:auto!important}

/* 0.11: visível apenas quando o controlador independente já programou o fechamento. */
html[data-ui-scope="public"][data-pwa-opening="1"] body.public-body .pwa-entry-splash{
 display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
 height:100vh!important;height:100dvh!important;margin:0!important;padding:0!important;
 background:var(--pwa-splash-background,#000000)!important;
}
html[data-ui-scope="public"] body.public-body .pwa-entry-splash-inner{width:100%;max-width:100%;gap:0!important}
html[data-ui-scope="public"] body.public-body .pwa-entry-splash img{
 width:clamp(var(--pwa-splash-logo-min,213px),var(--pwa-splash-logo-fluid,63vw),var(--pwa-splash-logo-max,314px))!important;
 max-width:88vw!important;max-height:70dvh!important;height:auto!important;object-fit:contain!important;
 box-shadow:none!important;filter:none;
}
html[data-pwa-opening="1"][data-pwa-shine="1"] body.public-body .pwa-entry-splash-inner{animation:mh-pwa-image-shine 1.5s ease-in-out both!important}
@keyframes mh-pwa-image-shine{0%,100%{filter:brightness(1)}45%{filter:brightness(1.32)}}
@media(prefers-reduced-motion:reduce){html[data-pwa-opening="1"][data-pwa-shine="1"] body.public-body .pwa-entry-splash-inner{animation:none!important}}

