/* Presentation only. Do not override hidden states or permission controls. */
body{height:100dvh}
#stage{min-height:0;min-width:0}
.topbar{flex-wrap:wrap;gap:.65rem;padding-top:max(.7rem,env(safe-area-inset-top))}
.brand{flex:1;min-width:0;overflow-wrap:anywhere;line-height:1.4}
.toolname{max-width:100%;overflow-wrap:anywhere}
.iconbtn{flex:none;width:44px;height:44px}
.signout{flex:none;min-height:44px}
.panel{padding-bottom:calc(3.5rem + env(safe-area-inset-bottom));scroll-padding-block:1rem}
.panel h2{font-size:clamp(1.2rem,4vw,1.5rem);overflow-wrap:anywhere}
.ckgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.guestgrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.presenceGrid{grid-template-columns:repeat(auto-fill,minmax(min(100%,275px),1fr))}
.verifyActions{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.ck,.verifyCard,.alertCard,.presenceStat{min-width:0;overflow-wrap:anywhere}
.guestactions{flex-wrap:wrap}
.guestactions button{min-width:100px}
.panel button,.dclose,.dnav button{min-height:44px}
.panel input,.panel select,.panel textarea,.gcard input{font-size:16px}
.panel input,.panel select,.panel textarea{max-width:100%;min-width:0}
.dcard{width:min(90%,360px);max-width:none;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}
.dhead,.dsub,.dclose{flex-shrink:0}
.dnav{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding-right:.3rem}
.dnav button{flex-shrink:0;line-height:1.4}
.tag{flex:none}
.gate{overflow-y:auto;align-items:safe center}
.gcard{flex-shrink:0}
.badge{pointer-events:none;bottom:max(8px,env(safe-area-inset-bottom));max-width:calc(100% - 20px)}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
@media(max-width:600px){
  .topbar{padding-inline:.75rem;gap:.5rem}
  .brand{font-size:.88rem}
  .brand small{font-size:.58rem;letter-spacing:.06em}
  .toolname:not(:empty){order:4;flex-basis:100%;margin:0;padding-top:.4rem;border-top:1px solid #ffffff26;font-size:.8rem}
  .panel{padding:1rem .75rem calc(3.5rem + env(safe-area-inset-bottom))}
  .guestbar,.presenceTools{padding:.65rem;gap:.5rem}
  .alertRecipientForm{flex-wrap:wrap}
  .alertRecipientForm input{flex-basis:100%}
  .gcard{padding:1.25rem}
}
@media(prefers-reduced-motion:reduce){.dcard{animation:none}}
