.reception-page{max-width:68rem}
.reception-brand{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem}
.reception-brand img{width:5rem;height:5rem;object-fit:contain;border-radius:1rem;flex:none}
.reception-brand h1{font-family:inherit;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.15;margin:.25rem 0;overflow-wrap:anywhere}
.reception-brand p{margin:0}
.reception-page .attendance-reader{text-align:center;padding:clamp(1rem,3vw,2rem)}
.reception-instruction{display:flex;align-items:center;justify-content:center;gap:.7rem}
.reception-instruction h2{font-family:inherit;font-size:1.35em;margin:0;line-height:1.3}
.reception-dot{width:.65rem;height:.65rem;background:#26a77e;border-radius:50%;flex:none}
.reception-camera{position:relative;max-width:42rem;margin:1.25rem auto}
.reception-camera video{max-height:45dvh;aspect-ratio:4/3}
.reception-frame{position:absolute;width:58%;height:65%;border:3px solid #fff;border-radius:1.25rem;inset:0;margin:auto;box-shadow:0 0 0 1px #20364a;pointer-events:none}
.reception-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;text-align:left;margin-top:1.25rem}
.reception-controls label{display:flex;flex-direction:column;gap:.5rem;flex:2 1 16rem;min-width:0}
.reception-controls select{font:inherit;padding:.8rem;width:100%;min-width:0;box-sizing:border-box;border:1px solid var(--wg-line);border-radius:.8rem;background:var(--wg-card);color:var(--wg-text)}
.reception-controls .btn{flex:1 1 10rem;white-space:normal;min-height:3.25rem}
.reception-page #reader-status{font-weight:700;min-height:1.5em;margin:1rem 0}
.reception-page .attendance-result{max-width:42rem;margin:1rem auto}
.reception-page .attendance-result p{margin:.35rem 0}
.reception-page .attendance-result strong{font-size:1.25em}
.reception-help,#reader-screen-note{font-size:.9em;margin:.75rem 0 0}
body.reception-mode>.wg-header,body.reception-mode>.wg-footer,body.reception-mode>.mobile-dock{display:none!important}
body.reception-mode .wg-main{padding-top:1.25rem}
body.reception-mode .reception-history{display:none}
.reception-page:fullscreen{max-width:none;background:var(--wg-bg);padding:clamp(1rem,3vw,2rem);overflow:auto}
@media(max-width:480px){.reception-brand img{width:3.5rem;height:3.5rem}.reception-brand{gap:.75rem}.reception-controls .btn{flex-basis:100%}}

/* 5.18: recepción pública sin navegación ni controles administrativos. */
body.reception-mode{overflow:hidden!important}
body.reception-mode> :not(.wg-main){display:none!important}
body.reception-mode .wg-main> :not(.reception-page){display:none!important}
body.reception-mode .reception-page{position:fixed;inset:0;z-index:10000;max-width:none;width:100%;height:100dvh;box-sizing:border-box;overflow:auto;background:var(--wg-bg);padding:clamp(1rem,3vw,2rem);padding-top:max(3.5rem,env(safe-area-inset-top));display:flex;flex-direction:column;align-items:center;justify-content:safe center;gap:1rem}
body.reception-mode .reception-brand{display:block;text-align:center;margin:0}
body.reception-mode .reception-brand img{width:clamp(5rem,14vh,9rem);height:clamp(5rem,14vh,9rem);border-radius:1rem}
body.reception-mode .reception-brand div{display:none}
body.reception-mode .attendance-reader{width:min(100%,42rem);margin:0;padding:0;background:transparent;border:0;box-shadow:none}
body.reception-mode .reception-instruction h2{font-size:clamp(1.5rem,4vw,2.5rem)}
body.reception-mode .reception-dot,body.reception-mode .reception-help,body.reception-mode #reader-screen-note,body.reception-mode .reception-history{display:none!important}
body.reception-mode .reception-prompt{font-size:1.1em;margin:.5rem 0}
body.reception-mode .reception-camera{max-width:24rem;margin:1rem auto}
body.reception-mode .reception-camera video{width:100%;max-height:32dvh;object-fit:cover}
body.reception-mode .reception-controls{display:contents}
body.reception-mode .reception-controls>:not(#reader-fullscreen){display:none!important}
body.reception-mode #reader-fullscreen{position:fixed;top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right));font-size:.8rem;min-height:2.75rem;width:auto;padding:.5rem .75rem;background:var(--wg-bg);z-index:1}
body.reception-mode #reader-status{font-size:1rem;margin:.5rem 0}
body.reception-mode .attendance-result{margin:.5rem 0;padding:1rem}
