/* Core adds a small surface to the existing brand. V2 selectors stay untouched. */
.core { min-height:100dvh; display:flex; flex-direction:column; background:#fff; }
.core-masthead,.core-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; padding:1rem max(1.25rem,calc((100vw - 1080px)/2)); }
.core-masthead { border-bottom:1px solid var(--line); min-height:76px; }
.core-brand { display:flex; align-items:center; gap:.7rem; font:600 1.125rem var(--font-heading); letter-spacing:.08em; }
.core-brand { flex-shrink:0; }
.core-brand img { width:54px; height:auto; object-fit:contain; }
.core-home-page .core-brand img { width:88px; }
.core-masthead .core-context { margin-left:auto; }
.core-masthead .poc-trigger { margin-left:auto; flex-shrink:0; }
.core-masthead .core-context+.poc-trigger { margin-left:0; }
.core-context,.core-footer { color:var(--muted); font-size:.875rem; }
.core-main { width:min(1120px,100%); margin:auto; padding:2.5rem 1.25rem 4rem; flex:1; }
.core-footer { border-top:1px solid var(--line); }
.core-heading { margin-bottom:1.75rem; }
.core-heading h1 { font-size:2rem; line-height:1.2; }
.core-heading p { margin-top:.75rem; }
.core-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.core-title-row>.btn { flex-shrink:0; }
.core-note { font-size:.875rem; color:var(--muted); margin-top:.75rem; font-weight:400; }
.core-back { display:inline-flex; align-items:center; min-height:44px; margin-bottom:1rem; color:var(--muted); font-size:.875rem; }
.core .btn { min-height:44px; }
.core .btn.large { min-height:52px; }
.core-home { display:grid; grid-template-columns:1.15fr 1fr; gap:5rem; max-width:1000px; margin:4rem auto 5rem; align-items:start; }
.core-home .core-heading { margin-bottom:1.5rem; }
.core-home h1 { font-size:clamp(2rem,3.4vw,3rem); letter-spacing:-.035em; line-height:1.15; }
.core-home-intro>p { max-width:370px; line-height:1.7; }
.core-home-access { border-top:2px solid var(--accent); padding-top:1.5rem; }
.core-home-access h2 { margin-bottom:1.5rem; }
.core-home-manage { border-top:1px solid var(--line); margin-top:2rem; padding-top:1.25rem; font-size:.875rem; }
.core-home-manage .btn { margin:.4rem 0 0 -.75rem; }
.core-home-actions { display:grid; grid-template-columns:1.2fr 1fr; border-top:1px solid var(--rule-strong); }
.core-home-actions>section { padding:2rem 2rem 1rem 0; }
.core-home-actions>section+section { padding-left:2rem; padding-right:0; border-left:1px solid var(--line); }
.core-home-actions h2 { margin-bottom:.75rem; }
.core-home-actions p { margin-bottom:1.25rem; }
.core-home-actions summary { padding-top:0; font-size:1rem; }
.core-home-actions form { margin-top:1rem; }
.core-saved { display:grid; gap:.5rem; margin-top:1.5rem; }
.core-saved .btn { justify-content:flex-start; text-align:left; }
.core-clock { margin:-.5rem 0 1.5rem; }
.core-event-list { border-top:1px solid var(--rule-strong); }
.core-event-row { display:grid; grid-template-columns:minmax(0,1fr) 105px 90px auto; align-items:center; gap:1.5rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }
.core-event-row h2 { font-size:1.125rem; margin-bottom:.4rem; }
.core-event-row p,.core-count { font-size:.875rem; color:var(--muted); }
.core-legacy { display:inline-flex; align-items:center; min-height:44px; margin-top:2rem; font-size:.875rem; color:var(--muted); }
.core-form-page { max-width:620px; margin:auto; }
.core-form-section { border-bottom:1px solid var(--line); padding:0 0 1.5rem; margin-bottom:1.5rem; }
.core-form-section h2 { margin-bottom:1rem; }
.core-choices { display:flex; gap:2rem; padding:0; border:0; margin:0 0 1rem; }
.core-choices label { display:flex; gap:.625rem; align-items:center; min-height:44px; cursor:pointer; }
.core-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.core-share { padding:1.5rem; background:var(--paper); border:1px solid var(--line); }
.core-share h2 { margin-bottom:1rem; }
.core-share input { background:white; }
.core-manage-grid { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; margin:2rem 0; }
.core-rule h2,.core-rule h3 { margin-bottom:.75rem; }
.core-rule h3 { margin-top:1.25rem; }
.core-rule>.btn { margin-top:1.25rem; }
.core-rule p+p { margin-top:.4rem; }
.core-station-line { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.75rem; margin:.75rem 0; }
.core-station-line a { font-size:.875rem; color:var(--accent); min-height:32px; }
.core-guests { border-top:1px solid var(--rule-strong); padding-top:1.5rem; }
.core-guests h2 { margin-bottom:1rem; }
.core-guests h2 span { margin-left:.5rem; color:var(--muted); }
.core-guest-list { padding:0; margin:0; list-style:none; }
.core-guest-list li { display:grid; grid-template-columns:1fr 180px 120px; gap:1rem; align-items:center; padding:1rem 0; border-bottom:1px solid var(--line); }
.core-guest-list p,.core-guest-list li>span { font-size:.875rem; overflow-wrap:anywhere; }
.core-narrow { max-width:540px; margin:auto; }
.core-public-event { max-width:720px; margin:1rem auto; }
.core-public-event .core-heading h1 { font-size:clamp(2rem,4vw,3rem); }
.core-event-venue { font-weight:550; color:var(--ink); margin-bottom:.25rem; }
.core-description { margin:2rem 0; white-space:pre-line; line-height:1.7; }
.core-ticket-options { border-top:1px solid var(--rule-strong); }
.core-ticket-option { display:grid; grid-template-columns:1fr auto; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); align-items:center; }
.core-ticket-option h2 { font-size:1.125rem; }
.core-ticket-option p { margin-top:.5rem; }
.core-ticket-option>strong { font-size:1.5rem; }
.core-ticket-option .btn { grid-column:1/-1; }
.core-checkout { max-width:850px; margin:auto; }
.core-checkout-grid { display:grid; grid-template-columns:1fr .9fr; gap:3rem; align-items:start; }
.core-checkout form>.btn { margin-top:1rem; }
.core-order { padding:1.5rem; background:var(--paper); border-top:3px solid var(--accent); }
.core-order h2 { margin-bottom:.5rem; }
.core-order>p { font-size:.875rem; }
.core-order-line,.core-order-total { display:flex; justify-content:space-between; gap:1rem; margin-top:1.5rem; }
.core-order-line { margin-bottom:.5rem; }
.core-order-total { padding-top:1rem; border-top:1px solid var(--line); }
.core-eyebrow { font-size:.875rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); font-weight:550; margin-bottom:.75rem; }
.core-pass-wrap { max-width:460px; margin:auto; }
.core-pass { border:1px solid var(--rule-strong); border-radius:var(--radius-pass); overflow:hidden; }
.core-pass>header { padding:1.5rem; background:var(--accent-light); border-bottom:1px solid var(--line); }
.core-pass h1 { font-size:1.5rem; }
.core-pass header>p:last-child { font-size:.875rem; margin-top:.75rem; }
.core-credential { text-align:center; padding:1.5rem 1.25rem; }
.core-credential h2 { font-size:1.375rem; margin-bottom:.25rem; }
.core-qr { display:block; width:208px; max-width:100%; height:auto; background:white; }
.core-credential .core-qr { margin:1rem auto .75rem; }
.core-credential .btn { margin-top:.5rem; font-size:.8125rem; }
.core-reference-label { font-size:.75rem; color:var(--muted); margin-bottom:.35rem; }
.core-bar-code { margin-top:1.25rem; }
.core-bar-code summary { color:var(--accent); cursor:pointer; padding:.75rem 0; }
.core-bar-code .core-qr { margin:1rem 0; }
.core-bar-code .field { margin-top:1rem; }
.core-scanner { position:relative; background:#151d19; aspect-ratio:4/3; overflow:hidden; border-radius:4px; }
.core-scanner video { width:100%; height:100%; object-fit:cover; }
.core-scan-frame { position:absolute; inset:12% 21%; border:2px solid white; border-radius:8px; box-shadow:0 0 0 200px #0005; pointer-events:none; }
.core-scanner.inactive .core-scan-frame { opacity:.3; }
.core-scanner-status { margin:1rem 0; line-height:1.5; }
.core-scan-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.poc-explanation { margin-bottom:1.5rem; font-size:.875rem; line-height:1.5; }
.core-poc-details { border-top:1px solid var(--line); margin-top:1.5rem; font-size:.8125rem; }
.core-poc-details p { margin:0 0 1rem; }
.core-poc-details summary { cursor:pointer; padding:1rem 0; }
.core-pass-ref { display:block; overflow-wrap:anywhere; font-family:monospace; font-size:.75rem; color:var(--muted); }
.core-credential .core-note { font-size:.75rem; margin-top:.5rem; }
.core-checked { color:var(--success); font-weight:550; margin-top:1rem; }
.core-pass-tokens { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding:1.25rem 1.5rem; border-top:1px solid var(--line); }
.core-pass-tokens>div { display:flex; flex-direction:column; }
.core-pass-tokens strong { font-size:2rem; line-height:1.1; }
.core-pass-tokens span { font-size:.875rem; color:var(--muted); }
.core-pass-tokens .core-note { flex-basis:100%; margin-top:0; }
.core-pass>footer { padding:1.25rem 1.5rem; border-top:1px solid var(--line); font-size:.875rem; }
.core-pass footer p { margin:.25rem 0 .5rem; }
.core-pass footer a { color:var(--accent); display:inline-flex; min-height:36px; align-items:center; }
.core-station-options { display:grid; gap:.75rem; margin-top:1.5rem; }
.core-operation { max-width:580px; }
.core-operation-heading { margin-bottom:1.75rem; }
.core-operation-heading h1 { font-size:1.5rem; }
.core-operation-heading .core-eyebrow { font-size:1.125rem; }
.core-operation-card { border:1px solid var(--line); padding:1.5rem; }
.core-operation-card h2 { margin-bottom:.75rem; }
.core-operation-card>.btn { margin-top:1.5rem; }
.core-operation-card>.btn:first-child { margin-top:0; }
.core-operation-card>.btn.ghost { margin-top:.75rem; }
.core-or { text-align:center; margin:1rem 0; font-size:.875rem; }
.core-search-result { width:100%; display:flex; flex-direction:column; gap:.3rem; text-align:left; padding:1rem .25rem; border:0; border-bottom:1px solid var(--line); background:white; min-height:60px; }
.core-search-result:hover { background:var(--paper); }
.core-search-result span { font-size:.875rem; color:var(--muted); overflow-wrap:anywhere; }
.core-success { background:var(--accent-light); border-color:var(--rule-strong); }
.core-success>h2:first-child { color:var(--success); }
.core-success>strong { display:block; margin-top:1rem; font-size:1.25rem; }
.core-available { font-size:1.375rem; color:var(--ink); }
.core-confirm-balance { margin:1rem 0 1.5rem; }
.core-intro { margin-bottom:1.5rem; }
@media(max-width:700px) {
 .core-main { padding:1.5rem 1.25rem 3rem; }
 .core-heading h1 { font-size:1.75rem; }
 .core-context { font-size:.8125rem; }
 .core-home { grid-template-columns:1fr; gap:2rem; margin:1rem auto 2rem; }
 .core-home-page .core-brand img { width:72px; }
 .core-home-intro>p { max-width:100%; }
 .core-home .core-heading { margin-bottom:2rem; }
 .core-home-actions,.core-manage-grid { grid-template-columns:1fr; }
 .core-home-actions>section,.core-home-actions>section+section { padding:1.5rem 0; border-left:0; }
 .core-home-actions>section+section { border-top:1px solid var(--line); }
 .core-event-row { grid-template-columns:1fr auto; gap:.75rem 1rem; }
 .core-event-row>div { grid-column:1/-1; }
 .core-event-row>.btn { grid-column:2; grid-row:2/4; }
 .core-event-row .core-count { grid-column:1; }
 .core-title-row { flex-wrap:wrap; margin-bottom:1.5rem; }
 .core-title-row .core-heading { margin-bottom:0; }
 .core-clock { margin-top:0; }
 .core-share { padding:1rem; }
 .core-manage-grid { gap:2rem; }
 .core-guest-list li { grid-template-columns:1fr auto; gap:.4rem 1rem; }
 .core-guest-list li>div { grid-column:1/-1; }
 .core-footer { font-size:.8125rem; }
 .core-checkout-grid { grid-template-columns:1fr; gap:1.5rem; }
 .core-order { grid-row:1; padding:1rem; }
 .core-checkout .core-heading { margin-bottom:1.25rem; }
 .core-pass>header { padding:1.25rem; }
 .core-credential { padding:1.25rem 1rem; }
 .core-credential .core-qr { width:208px; }
 .core-pass-tokens { padding:1.25rem; }
 .core-operation-card { padding:1.25rem; }
}
@media(max-width:420px) {
 .core-masthead .core-context { display:none; }
}
