/* Stage 1 only: public event, new sale and scanner. Other modules retain their styles. */
:where(.public-stage-one,.sale-composition,.scanner-only){
 --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;
 --radius-control:4px;--radius-panel:8px;
 font-family:Arial,sans-serif;
}
.public-stage-one [hidden],.sale-composition [hidden]{display:none!important}
.public-stage-one .demo-strip{display:none}
.public-stage-one .nav-wrap{min-height:88px;border-bottom:1px solid var(--color-border)}
.public-stage-one .container{max-width:1200px}
.public-stage-one .nav-wrap,.public-stage-one .footer-top,.public-stage-one .footer-bottom{max-width:1200px}
.public-stage-one .breadcrumb{padding-top:24px;font-size:13px}
.public-stage-one .event-catalog{padding-top:32px}
.public-stage-one .event-grid.single-event{display:block}
.event-presentation{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-areas:"image heading" "image facts" "image action" "description description";column-gap:48px;row-gap:24px;align-items:start}
.event-presentation-heading{grid-area:heading;min-width:0;padding-top:16px}
.event-presentation-heading .eyebrow{font-size:12px;color:var(--color-primary);letter-spacing:.09em}
.event-presentation h1{font-size:40px;line-height:1.12;letter-spacing:-.035em;margin:16px 0 0;overflow-wrap:anywhere}
.event-presentation-image{grid-area:image;width:100%;height:100%;max-height:460px;min-height:340px;object-fit:cover;border-radius:var(--radius-panel)}
.event-presentation-facts{grid-area:facts;display:grid;gap:24px;margin:0;min-width:0}
.event-presentation-facts div{border-left:2px solid var(--color-border);padding-left:16px}
.event-presentation-facts dt{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}
.event-presentation-facts dd{margin:0;font-size:16px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.event-presentation-facts dd span{display:block;font-size:14px;font-weight:400;color:var(--color-text-muted)}
.event-presentation-action{grid-area:action;align-self:end;padding-bottom:16px}
.event-presentation-action .button{min-height:48px;border-radius:var(--radius-control);font-size:14px;padding:14px 24px}
.event-presentation-description{grid-area:description;border-top:1px solid var(--color-border);padding-top:24px;margin-top:8px}
.event-presentation-description h2{font-size:20px;letter-spacing:-.02em;margin-bottom:12px}
.event-presentation-description p{font-size:16px;max-width:760px;margin:0;line-height:1.65}
.event-access-note{padding-top:24px;padding-bottom:32px;font-size:14px}.event-access-note p{max-width:760px;margin:8px 0}.event-access-note>span{font-size:12px;color:var(--color-text-muted)}
.public-stage-one footer{margin-top:24px}.public-stage-one .footer-top{padding:24px 0}
@media(max-width:700px){
 .public-stage-one .nav-wrap{min-height:72px}.public-stage-one .breadcrumb{padding-top:16px;padding-bottom:16px}.public-stage-one .event-catalog{padding-top:24px;padding-bottom:24px}
 .event-presentation{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "facts" "image" "action" "description";gap:24px}
 .event-presentation-heading{padding-top:0}.event-presentation h1{font-size:32px;margin-top:12px}
 .event-presentation-facts{grid-template-columns:1fr 1fr;gap:16px}.event-presentation-facts div{padding-left:12px}.event-presentation-facts dd{font-size:14px}.event-presentation-facts dd span{font-size:13px}
 .event-presentation-image{height:auto;min-height:0;max-height:300px;aspect-ratio:4/3}.event-presentation-action{padding:0}.event-presentation-action .button{width:100%;justify-content:center}
 .event-presentation-description{margin-top:0}.public-stage-one .menu-toggle{border-radius:4px}
}

/* One form, three visual groups, no extra confirmation step. */
.admin-body #sale-form.sale-composition{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,320px);gap:32px;align-items:start;font-size:14px}
.sale-fields{min-width:0;display:grid;gap:32px}.sale-step{min-width:0;border:0;border-bottom:1px solid var(--color-border);padding:0 0 24px;display:grid;gap:16px}
.sale-step:last-child{border-bottom:0;padding-bottom:0}.sale-step-heading{display:flex;gap:12px;align-items:center}.sale-step-heading>span{font-size:12px;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.sale-step-heading h3{font-size:16px;margin:0;letter-spacing:-.01em}
.admin-body .sale-composition input,.admin-body .sale-composition select{min-height:40px;border-radius:var(--radius-control);font-size:14px;margin-top:8px;padding:10px 12px}
.admin-body .sale-composition .button{border-radius:var(--radius-control);min-height:40px;font-size:13px;padding:12px 16px}
.sale-composition #student-fields{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end}.sale-composition #lookup{margin:0}.sale-composition #academic{grid-column:1/-1;margin:0;padding:16px;border-radius:4px}
.sale-composition .academic-summary dl{grid-template-columns:140px minmax(0,1fr);gap:8px 16px;font-size:13px}.sale-composition .academic-summary>strong{font-size:16px;overflow-wrap:anywhere}
.sale-composition #external-fields{gap:16px}.sale-composition #external-quantity{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;align-items:end}.sale-composition #external-quantity p{padding-bottom:8px}
.sale-composition #price{background:none;border:0;padding:0;font-size:14px}.sale-composition .sale-actions{display:grid;gap:8px;justify-items:start;margin:0}.sale-composition .sale-actions .secondary{border-color:transparent;padding-left:0;min-height:36px}
.sale-review{position:sticky;top:24px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:24px;background:var(--color-surface-muted);min-width:0}
.sale-review .eyebrow{font-size:10px;letter-spacing:.08em;color:var(--color-text-muted)}.sale-review h3{font-size:20px;margin:8px 0 24px}
.sale-review dl{display:grid;grid-template-columns:1fr 1.3fr;gap:12px;font-size:13px;margin:0}.sale-review dt{color:var(--color-text-muted)}.sale-review dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:500}
.sale-review-total{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--color-border);margin-top:24px;padding-top:16px}.sale-review-total strong{font-size:24px;letter-spacing:-.025em;white-space:nowrap;font-variant-numeric:tabular-nums}
#sale-review-recipients{margin:24px 0;max-height:240px;overflow:auto}#sale-review-recipients h4{font-size:12px;margin:0 0 12px}#sale-review-recipients p{display:grid;gap:4px;margin:12px 0;font-size:13px}#sale-review-recipients span{overflow-wrap:anywhere}#sale-review-recipients small{font-size:12px;color:var(--color-text-muted)}
.sale-composition .recipient-toggle{margin:0 0 16px!important;font-size:13px}.sale-composition .recipient-toggle input{margin:0;padding:0;min-height:20px}
.recipient-row{border-top:1px solid var(--color-border)}.recipient-row:last-child{border-bottom:1px solid var(--color-border)}.recipient-row summary{display:flex;gap:12px;align-items:center;list-style:none;padding:16px 0;cursor:pointer;font-size:13px}.recipient-row summary::-webkit-details-marker{display:none}.recipient-row summary>strong{flex:none}.recipient-row summary>[data-recipient-summary]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.recipient-edit{margin-left:auto;color:var(--color-primary);font-size:12px}.recipient-row[open] .recipient-edit{font-weight:700}
.sale-composition .recipient-card{border:0;border-radius:0;margin:0;padding:0 0 16px;display:grid;gap:12px}.sale-composition .recipient-card legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.sale-composition .recipient-card .button{justify-self:start}.sale-composition .recipient-card .report-note{margin:0}
@media(max-width:1100px){.admin-body #sale-form.sale-composition{grid-template-columns:minmax(0,1fr);gap:24px}.sale-review{position:static}.sale-review dl{grid-template-columns:1fr 2fr}}
@media(max-width:600px){.admin-body .sale-composition input,.admin-body .sale-composition select{font-size:16px;min-height:44px}.sale-composition #student-fields{grid-template-columns:1fr}.sale-composition #academic{grid-column:auto}.sale-composition #external-quantity{grid-template-columns:1fr}.sale-composition .academic-summary dl{grid-template-columns:1fr}.sale-composition .sale-actions{justify-items:stretch}.sale-review{padding:16px}}

/* Scanner status and physical wristband are independent visual signals. */
.scanner-only .access-result{position:relative;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-top:5px solid var(--color-border-strong);border-radius:var(--radius-panel);display:block;padding:24px;min-height:0}
.scanner-only .access-result.valid{border-top-color:var(--color-success)}.scanner-only .access-result.used,.scanner-only .access-result.expired{border-top-color:var(--color-warning-border)}.scanner-only .access-result.invalid{border-top-color:var(--color-danger)}
.scanner-only .result-symbol{position:absolute;left:24px;top:24px;font-size:28px}.scanner-only .valid .result-symbol{color:var(--color-success)}.scanner-only .used .result-symbol,.scanner-only .expired .result-symbol{color:var(--color-warning-text)}.scanner-only .invalid .result-symbol{color:var(--color-danger)}
.scanner-only .access-result h2{font-size:24px;line-height:1.2;letter-spacing:-.02em;margin:0 0 16px;padding-left:40px}.scanner-only .access-result .holder{font-size:24px;line-height:1.25;font-weight:600;margin:0 0 16px;overflow-wrap:anywhere}
.scanner-only .access-result .ticket-reference{font-size:12px;margin:0;color:var(--color-text-muted)}.scanner-only .result-details{font-size:12px;margin:8px 0;color:var(--color-text-muted)}.result-details summary{cursor:pointer}.scanner-only .result-details p{font-size:12px}
.scanner-only .access-result .wristband{border-radius:4px;margin:16px 0;padding:16px 24px}.scanner-only .wristband span{font-size:12px}.scanner-only .wristband b{font-size:48px;line-height:1.1}
.scanner-only .used .wristband{display:flex;gap:12px;align-items:center;padding:8px 12px}.scanner-only .used .wristband b{font-size:20px}.scanner-only .access-result .first-entry{font-size:12px;line-height:1.4;margin:12px 0 0}
.scanner-only .access-result>div>strong{font-size:14px;line-height:1.4}.scanner-only .access-result.idle{background:var(--color-surface-muted);border-top-width:1px}.scanner-only .access-result.idle h2{padding-left:0}
.scanner-only .access-result.idle .result-symbol{display:none}
.scanner-only .camera-preview{border-radius:8px}.scanner-only .camera-actions .button{border-radius:4px}.scanner-only .scanner-status{border-radius:0 0 4px 4px}
@media(max-width:760px){
 .scanner-only .access-result:not(.idle){position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));max-height:76dvh;overflow:auto;padding:20px;border-radius:8px;box-shadow:0 4px 16px #17253626}
 .scanner-only .access-result:not(.idle) .result-symbol{left:20px;top:20px}.scanner-only .access-result h2{font-size:24px}.scanner-only .access-result .holder{font-size:24px}.scanner-only .wristband b{font-size:44px}
 .scanner-only .access-result.idle{padding:12px}.scanner-only .camera-preview{max-height:32dvh}.scanner-only .reader-row .button{min-height:48px}.scanner-only .validation-section label{font-size:13px}
}
