/* Event Flow Manager — public styles, deliberately scoped to .efm. */
.efm{
	--efm-primary:#4f46e5;--efm-primary-dark:#4338ca;--efm-primary-soft:#eef2ff;
	--efm-ink:#0f172a;--efm-muted:#64748b;--efm-bg:#f5f7fb;--efm-card:#fff;--efm-border:#e2e8f0;
	--efm-success:#16a34a;--efm-success-soft:#f0fdf4;--efm-warn:#d97706;--efm-warn-soft:#fffbeb;
	--efm-danger:#dc2626;--efm-danger-soft:#fef2f2;--efm-radius:10px;
	width:100%;max-width:1180px;margin:0 auto;color:var(--efm-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.55;
}
.efm,.efm *{box-sizing:border-box}
.efm h1,.efm h2,.efm h3,.efm h4,.efm p{margin-top:0}
.efm a{transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease}
.efm :focus-visible{outline:3px solid rgba(37,99,235,.25);outline-offset:2px}
.efm-title{font-size:26px;font-weight:800;line-height:1.2;letter-spacing:-.45px;margin:7px 0 6px}
.efm-meta{color:var(--efm-muted);font-size:14px;margin:0}
.efm-kicker{display:inline-block;color:var(--efm-primary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}
.efm-muted{color:var(--efm-muted)}

.efm-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;background:var(--efm-primary);color:#fff!important;font-family:inherit;font-size:14px;font-weight:600;line-height:1.3;padding:9px 16px;border:1px solid var(--efm-primary);border-radius:8px;text-decoration:none!important;cursor:pointer;box-shadow:none}
.efm-btn:hover{background:var(--efm-primary-dark);border-color:var(--efm-primary-dark);color:#fff!important}
.efm-btn:disabled{opacity:.5;cursor:not-allowed}
.efm-btn-lg{width:100%;min-height:46px;padding:12px 20px;font-size:15px;margin-top:14px}
.efm-btn-block{display:flex;width:100%;margin-top:12px}
.efm-btn-ghost{background:#fff;color:var(--efm-primary)!important;border-color:var(--efm-border)}
.efm-btn-ghost:hover{background:#f8fafc;color:var(--efm-primary-dark)!important;border-color:#bfdbfe}

/* Shared hero / notices. */
.efm-public-hero{text-align:center;padding:8px 18px 26px}
.efm-public-hero h2{font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.5px;margin:0}
.efm-public-hero p{max-width:650px;margin:7px auto 0;color:var(--efm-muted);font-size:14px}
.efm-notice{background:var(--efm-primary-soft);border:1px solid #bfdbfe;border-radius:10px;padding:12px 16px;font-size:14px;color:#1e40af;margin:0 0 16px}
.efm-notice a{color:inherit;font-weight:700}
.efm-notice-error{background:var(--efm-danger-soft);border-color:#fecaca;color:#b91c1c}
.efm-notice-success{background:var(--efm-success-soft);border-color:#bbf7d0;color:#15803d}
.efm-empty-state{text-align:center;background:#fff;border:1px dashed var(--efm-border);border-radius:14px;padding:42px 20px}
.efm-empty-state>span{display:block;font-size:28px;margin-bottom:8px}
.efm-empty-state h3{font-size:17px;margin:0 0 4px}
.efm-empty-state p{color:var(--efm-muted);margin:0}

/* Events page. */
.efm-view-toggle{display:inline-flex;overflow:hidden;margin-top:16px;border:1px solid var(--efm-border);border-radius:8px;background:#fff}
.efm-view-toggle button{appearance:none;border:0;border-right:1px solid var(--efm-border);background:#fff;color:var(--efm-muted);font-family:inherit;font-size:12.5px;font-weight:700;line-height:1;padding:9px 18px;cursor:pointer}
.efm-view-toggle button:last-child{border-right:0}
.efm-view-toggle button.is-active{background:var(--efm-primary);color:#fff}
.efm-events-view{display:none}
.efm-events-view.is-active{display:block;animation:efmFade .18s ease}
@keyframes efmFade{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.efm-event-row{display:flex;gap:16px;align-items:center;border:1px solid var(--efm-border);border-radius:var(--efm-radius);padding:16px;margin-bottom:12px;background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.02)}
.efm-event-row:hover{border-color:#bfdbfe;box-shadow:0 4px 14px rgba(37,99,235,.08)}
.efm-date-chip{width:58px;flex:0 0 58px;text-align:center;border:1px solid var(--efm-border);border-radius:9px;overflow:hidden;background:#fff}
.efm-date-chip b{display:block;background:var(--efm-primary);color:#fff;font-size:10.5px;padding:4px 0;text-transform:uppercase;letter-spacing:.06em}
.efm-date-chip span{display:block;font-size:21px;font-weight:800;line-height:1;padding:8px 0}
.efm-event-main{flex:1;min-width:0}
.efm-event-main h3{font-size:16px;line-height:1.3;font-weight:750;margin:0 0 2px;color:var(--efm-ink)}
.efm-event-cta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}
.efm-spots{font-size:12px;font-weight:750;color:var(--efm-success)}
.efm-spots.efm-low{color:var(--efm-warn)}
.efm-spots.efm-closed{color:var(--efm-muted)}
.efm-calendar-month{margin-bottom:24px}
.efm-calendar-month>h3{font-size:14px;font-weight:800;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid var(--efm-border)}
.efm-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.efm-calendar-card{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;border:1px solid var(--efm-border);border-radius:10px;background:#fff;padding:13px}
.efm-calendar-card h4{font-size:14px;line-height:1.3;margin:0 0 2px}
.efm-calendar-card p{font-size:12px;color:var(--efm-muted);margin:0}
.efm-calendar-date{width:44px;text-align:center;border-radius:8px;background:var(--efm-primary-soft);color:var(--efm-primary);padding:5px 2px;align-self:start}
.efm-calendar-date b{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.06em}
.efm-calendar-date span{display:block;font-size:19px;font-weight:800;line-height:1.15}
.efm-calendar-foot{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:9px;border-top:1px solid #f1f5f9;font-size:12px}
.efm-calendar-foot a{color:var(--efm-primary);font-weight:750;text-decoration:none}

/* Registration page. */
.efm-register-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.85fr);gap:24px;align-items:start}
.efm-register-main{min-width:0}
.efm-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:750;padding:4px 10px;border-radius:20px}
.efm-status-pill i{width:6px;height:6px;border-radius:50%;background:currentColor}
.efm-status-pill.is-open{background:var(--efm-success-soft);color:var(--efm-success)}
.efm-status-pill.is-closed{background:var(--efm-danger-soft);color:var(--efm-danger)}
.efm-event-meta-line{margin-bottom:18px}
.efm-event-feature{display:block;width:100%;max-height:330px;object-fit:cover;border-radius:12px;margin-bottom:18px;border:1px solid var(--efm-border)}
.efm-event-description{color:#334155;font-size:14px;margin-bottom:16px}
.efm-event-description>:last-child{margin-bottom:0}
.efm-address{font-size:13px;color:var(--efm-muted);margin-bottom:18px}
.efm-form-card,.efm-summary-card{background:#fff;border:1px solid var(--efm-border);border-radius:12px;padding:20px;box-shadow:0 1px 3px rgba(15,23,42,.03)}
.efm-form-card h3,.efm-summary-card h3{font-size:14px;font-weight:800;margin:0 0 15px}
.efm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.efm-grid .efm-field-full{grid-column:1/-1}
.efm-form-card label{display:block;font-size:12.5px;font-weight:650;color:#334155}
.efm-form-card input,.efm-form-card select{display:block;width:100%;height:42px;border:1px solid var(--efm-border);border-radius:8px;background:#fff;color:var(--efm-ink);font-family:inherit;font-size:14px;font-weight:400;line-height:1.3;padding:9px 11px;margin-top:5px;box-shadow:none}
.efm-form-card input:focus,.efm-form-card select:focus,.efm-lookup-row input:focus{border-color:#93c5fd;outline:3px solid rgba(37,99,235,.12)}
.efm-waiver-label{margin-top:16px}
.efm-waiver{background:#f8fafc;border:1px solid var(--efm-border);border-radius:8px;padding:12px;font-size:12.5px;color:var(--efm-muted);max-height:120px;overflow:auto;margin-top:5px}
.efm-check{display:flex!important;align-items:flex-start;gap:8px;font-weight:500!important;margin-top:11px;color:#334155}
.efm-check input{width:auto!important;height:auto!important;margin:3px 0 0!important;flex-shrink:0}
.efm-summary-card{position:sticky;top:24px;background:#fafbfd}
.efm-summary-line{display:flex;justify-content:space-between;gap:14px;padding:6px 0;font-size:13px}
.efm-summary-line>span{min-width:0}
.efm-summary-line b{white-space:nowrap}
.efm-summary-line.efm-summary-total{border-top:1px solid var(--efm-border);margin-top:7px;padding-top:12px;font-size:16px;font-weight:800}
.efm-availability{font-size:12px;font-weight:700;color:var(--efm-success);margin:9px 0 0}
.efm-summary-label{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--efm-muted);margin:18px 0 8px}
.efm-payment-options{margin-top:4px}
.efm-payment-option{position:relative;display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;padding:11px 12px;margin-bottom:8px;border:1.5px solid var(--efm-border);border-radius:9px;background:#fff;cursor:pointer}
.efm-payment-option:hover{border-color:#93c5fd}
.efm-payment-option.is-selected{border-color:var(--efm-primary);background:var(--efm-primary-soft);box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.efm-payment-option input{position:absolute;opacity:0;pointer-events:none}
.efm-payment-option>span:nth-child(3) b{display:block;font-size:13px;line-height:1.25}
.efm-payment-option small{display:block;font-size:11px;color:var(--efm-muted);font-weight:500;margin-top:1px}
.efm-payment-option>i{width:18px;height:18px;border:2px solid #cbd5e1;border-radius:50%;position:relative}
.efm-payment-option.is-selected>i{border-color:var(--efm-primary)}
.efm-payment-option.is-selected>i:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--efm-primary)}
.efm-payment-logo{width:36px;height:36px;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850}
.efm-payment-logo.stripe{background:#635bff}.efm-payment-logo.paypal{background:#003087}.efm-payment-logo.offline{background:#334155}
.efm-fineprint{font-size:11.5px;color:var(--efm-muted);text-align:center;margin:9px 0 0}

/* Ticket / lookup. */
.efm-lookup{max-width:720px}
.efm-lookup-card{max-width:580px;margin:0 auto 20px;text-align:center;background:#fff;border:1px solid var(--efm-border);border-radius:14px;padding:24px;box-shadow:0 2px 12px rgba(15,23,42,.04)}
.efm-lookup-card h2{font-size:22px;font-weight:800;margin:8px 0 4px}
.efm-lookup-card>p{font-size:13px;color:var(--efm-muted);max-width:440px;margin:0 auto 14px}
.efm-lookup-icon{width:44px;height:44px;border-radius:11px;background:var(--efm-primary-soft);color:var(--efm-primary);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;margin:0 auto}
.efm-lookup-form{margin-top:10px}
.efm-lookup-row{display:flex;gap:8px}
.efm-lookup-row input{flex:1;min-width:0;height:42px;border:1px solid var(--efm-border);border-radius:8px;background:#fff;color:var(--efm-ink);font-family:inherit;font-size:14px;font-weight:400;line-height:1.3;padding:10px 12px;box-shadow:none}
.efm-ticket{max-width:390px;margin:0 auto 22px;border:1px solid var(--efm-border);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 5px 22px rgba(15,23,42,.09)}
.efm-ticket-voided{opacity:.68}
.efm-ticket-top{padding:19px 20px;text-align:center;color:#fff}
.efm-ticket-top b{font-size:16px;display:block}
.efm-ticket-top span{font-size:12px;opacity:.86}
.efm-ticket-qr{display:flex;justify-content:center;padding:22px 22px 16px}
.efm-ticket-qr svg{width:190px;height:190px;border:8px solid #fff;outline:1px solid var(--efm-border);border-radius:8px}
.efm-ticket-info{text-align:center;padding:0 20px 17px}
.efm-ticket-code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:750;font-size:14px;letter-spacing:.04em}
.efm-ticket-info .efm-badge{margin-top:7px}
.efm-ticket-divider{border-top:2px dashed var(--efm-border);margin:0 14px;position:relative}
.efm-ticket-divider:before,.efm-ticket-divider:after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;background:#fff;top:-10px;border:1px solid var(--efm-border)}
.efm-ticket-divider:before{left:-24px}.efm-ticket-divider:after{right:-24px}
.efm-ticket-rows{padding:14px 20px 8px}
.efm-ticket-rows div{display:flex;justify-content:space-between;gap:15px;padding:5px 0;font-size:12.5px;color:var(--efm-muted)}
.efm-ticket-rows b{color:var(--efm-ink);text-align:right}
.efm-ticket-actions{padding:10px 20px 20px;text-align:center}
.efm-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:750;padding:3px 10px;border-radius:20px;text-transform:capitalize}
.efm-badge-confirmed,.efm-badge-checked_in{background:var(--efm-success-soft);color:var(--efm-success)}
.efm-badge-pending{background:var(--efm-warn-soft);color:var(--efm-warn)}
.efm-badge-cancelled,.efm-badge-refunded{background:var(--efm-danger-soft);color:var(--efm-danger)}

/* Stats widget. */
.efm-stats-widget{max-width:440px;border:1px solid var(--efm-border);border-radius:12px;padding:17px;background:#fff;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.efm-stats-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:11px}
.efm-stats-head b{font-size:14px}
.efm-bar{height:9px;background:#eef2f7;border-radius:6px;overflow:hidden}
.efm-bar i{display:block;height:100%;background:var(--efm-primary);border-radius:inherit}
.efm-stats-row{display:flex;justify-content:space-between;gap:12px;margin-top:8px;font-size:12.5px}

/* Public check-in. */
.efm-checkin{max-width:900px;padding:22px;border:1px solid var(--efm-border);border-radius:16px;background:#f8fafc;box-shadow:0 4px 18px rgba(15,23,42,.05)}
.efm-checkin-login{max-width:640px}
.efm-checkin-head{text-align:center;max-width:620px;margin:0 auto 16px}
.efm-checkin-head h2{font-size:24px;font-weight:800;line-height:1.2;margin:0 0 3px}
.efm-checkin-head p{font-size:13px;color:var(--efm-muted);margin:0}
.efm-checkin-stats{display:flex;text-align:center;border:1px solid var(--efm-border);border-radius:var(--efm-radius);overflow:hidden;margin:0 0 16px;background:#fff}
.efm-checkin-stats div{flex:1;padding:11px 8px}
.efm-checkin-stats div+div{border-left:1px solid var(--efm-border)}
.efm-checkin-stats b{font-size:20px;display:block;line-height:1.2}
.efm-checkin-stats b.efm-green{color:var(--efm-success)}
.efm-checkin-stats span{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--efm-muted)}
.efm-checkin-workspace{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:16px;align-items:start}
.efm-checkin-camera,.efm-checkin-tools{min-width:0}
.efm-checkin-tools{padding:16px;border:1px solid var(--efm-border);border-radius:12px;background:#fff}
.efm-scanner-wrap{position:relative;background:#101923;border-radius:12px;aspect-ratio:16/10;max-height:420px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.efm-scanner-wrap video{width:100%;height:100%;object-fit:cover}
.efm-scan-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:linear-gradient(rgba(15,23,42,.12),rgba(15,23,42,.12))}
.efm-scan-box{width:52%;aspect-ratio:1;border:2.5px solid #60a5fa;border-radius:14px;box-shadow:0 0 0 999px rgba(15,23,42,.15)}
.efm-scan-hint{position:absolute;bottom:12px;left:12px;right:12px;text-align:center;color:#e2e8f0;font-size:12.5px;margin:0;text-shadow:0 1px 2px #000}
.efm-result{margin:0 0 12px;border-radius:10px;padding:13px 14px;font-weight:750;display:flex;align-items:center;gap:11px}
.efm-result .efm-result-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;flex-shrink:0}
.efm-result.ok{background:var(--efm-success-soft);color:var(--efm-success)}.efm-result.ok .efm-result-icon{background:var(--efm-success)}
.efm-result.duplicate,.efm-result.not_paid,.efm-result.busy{background:var(--efm-warn-soft);color:var(--efm-warn)}.efm-result.duplicate .efm-result-icon,.efm-result.not_paid .efm-result-icon,.efm-result.busy .efm-result-icon{background:var(--efm-warn)}
.efm-result.invalid,.efm-result.voided{background:var(--efm-danger-soft);color:var(--efm-danger)}.efm-result.invalid .efm-result-icon,.efm-result.voided .efm-result-icon{background:var(--efm-danger)}
.efm-result small{display:block;font-weight:500;opacity:.88;font-size:12px;margin-top:2px}
.efm-manual-search{margin:0}.efm-manual-search>label{display:block;font-size:13px;font-weight:750;margin-bottom:3px}.efm-manual-search>p{font-size:12px;line-height:1.45;color:var(--efm-muted);margin:0 0 10px}
#efm-manual-results{margin-top:8px;max-height:340px;overflow:auto}
.efm-manual-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--efm-border);border-radius:8px;padding:9px 10px;margin-top:6px;font-size:12.5px;background:#fff}

@media(max-width:900px){
	.efm-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
	.efm-register-layout{grid-template-columns:1fr}
	.efm-summary-card{position:static}
	.efm-checkin-workspace{grid-template-columns:1fr}
	.efm-checkin-tools{padding:14px}
}
@media(max-width:620px){
	.efm{font-size:14px}
	.efm-public-hero{padding-left:0;padding-right:0}.efm-public-hero h2{font-size:24px}
	.efm-event-row{flex-wrap:wrap;padding:14px}.efm-event-cta{align-items:stretch;text-align:left;width:100%;padding-left:74px}.efm-event-cta .efm-btn{width:100%}
	.efm-calendar-grid{grid-template-columns:1fr}
	.efm-grid{grid-template-columns:1fr}.efm-grid .efm-field-full{grid-column:auto}
	.efm-form-card,.efm-summary-card{padding:16px}
	.efm-lookup-row{flex-direction:column}.efm-lookup-row .efm-btn{width:100%}
	.efm-ticket-rows div{align-items:flex-start}.efm-ticket-rows b{max-width:62%}
	.efm-checkin{padding:15px;border-radius:12px}.efm-scanner-wrap{aspect-ratio:4/3}.efm-checkin-stats div{padding:9px 5px}
}
@media(max-width:420px){
	.efm-date-chip{width:52px;flex-basis:52px}.efm-event-row{gap:12px}.efm-event-cta{padding-left:64px}
	.efm-checkin-stats span{font-size:9.5px}.efm-checkin-stats b{font-size:18px}
}

@media print{
	body *{visibility:hidden!important}
	.efm-ticket,.efm-ticket *{visibility:visible!important}
	.efm-ticket{position:absolute;left:20px;top:20px;box-shadow:none;opacity:1}
	.efm-ticket-actions{display:none!important}
}

/* beta.6 public-page routing and preview states. */
.efm-ticket-page{max-width:760px}
.efm-ticket-placeholder{margin-top:8px}
.efm-ticket-placeholder .efm-btn{margin-top:3px}
.efm-stats-empty p{margin:0;color:var(--efm-muted);font-size:13px;line-height:1.5}

/* beta.8 Registration landing and Stats preview completion. */
.efm-registration-landing{max-width:900px}
.efm-registration-landing .efm-registration-choices{max-width:860px;margin:0 auto}
.efm-registration-landing .efm-notice{max-width:860px;margin-left:auto;margin-right:auto}
.efm-stats-preview{max-width:760px}
.efm-stats-preview-head{padding-bottom:18px}
.efm-stats-selector{max-width:560px;margin:0 auto 18px;background:#fff;border:1px solid var(--efm-border);border-radius:12px;padding:14px 16px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.efm-stats-selector>label{display:block;font-size:12px;font-weight:750;color:#334155;margin-bottom:6px}
.efm-stats-selector>div{display:flex;gap:8px}
.efm-stats-selector select{flex:1;min-width:0;height:40px;border:1px solid var(--efm-border);border-radius:8px;background:#fff;color:var(--efm-ink);font-family:inherit;font-size:13.5px;padding:8px 10px}
.efm-stats-preview>.efm-stats-widget{margin-left:auto;margin-right:auto}
.efm-stats-embed-code{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:14px auto 0;color:var(--efm-muted);font-size:12px}
.efm-stats-embed-code code{display:inline-block;background:var(--efm-primary-soft);border:1px solid #bfdbfe;border-radius:6px;color:var(--efm-primary-dark);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;font-weight:650;padding:5px 8px}
@media(max-width:620px){
	.efm-stats-selector>div{flex-direction:column}
	.efm-stats-selector .efm-btn{width:100%}
}

/* beta.10 canonical page hosts and Stats preview repair. */
body.efm-public-owned.efm-public-host-page-register h1.entry-title,
body.efm-public-owned.efm-public-host-page-register h1.main_title,
body.efm-public-owned.efm-public-host-page-stats h1.entry-title,
body.efm-public-owned.efm-public-host-page-stats h1.main_title{display:none}
body.efm-public-host-page-register .entry-content,
body.efm-public-host-page-stats .entry-content{overflow:visible}
body.efm-public-host-page-register .efm,
body.efm-public-host-page-stats .efm{margin-top:24px;margin-bottom:42px}

.efm-stats-preview{width:100%;max-width:880px;background:var(--efm-bg);border:1px solid var(--efm-border);border-radius:16px;padding:28px;box-shadow:0 8px 30px rgba(15,23,42,.07)}
.efm-stats-page-head{text-align:center;max-width:650px;margin:0 auto 20px}
.efm-stats-page-head h2{margin:0;font-size:28px;line-height:1.2;font-weight:800;letter-spacing:-.5px;color:var(--efm-ink)}
.efm-stats-page-head p{margin:7px auto 0;color:var(--efm-muted);font-size:14px;line-height:1.55}
.efm-stats-preview .efm-stats-selector{max-width:680px;margin:0 auto 16px;padding:14px 16px;border-color:var(--efm-border);box-shadow:none}
.efm-stats-widget{width:100%;max-width:520px}
.efm-stats-widget-preview{max-width:680px;margin:0 auto;padding:22px;border-radius:14px;box-shadow:0 4px 18px rgba(15,23,42,.07)}
.efm-stats-widget-compact{padding:18px}
.efm-stats-head{align-items:flex-start;margin-bottom:16px}
.efm-stats-head>div{min-width:0}
.efm-stats-head h3{margin:2px 0 3px;font-size:18px;line-height:1.25;font-weight:800;color:var(--efm-ink)}
.efm-stats-head p{margin:0;color:var(--efm-muted);font-size:12.5px;line-height:1.45}
.efm-stats-eyebrow{display:block;color:var(--efm-primary);font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.efm-stats-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 14px}
.efm-stats-metrics>div{min-width:0;background:#f8fafc;border:1px solid #edf2f7;border-radius:10px;padding:12px;text-align:center}
.efm-stats-metrics span{display:block;color:var(--efm-muted);font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.efm-stats-metrics b{display:block;margin-top:3px;color:var(--efm-ink);font-size:22px;line-height:1.15;font-weight:800;overflow-wrap:anywhere}
.efm-stats-progress{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:2px}
.efm-stats-progress span{color:var(--efm-muted);font-size:11.5px;font-weight:700;white-space:nowrap}
.efm-stats-unlimited{margin:2px 0 0;padding:10px 12px;border-radius:8px;background:var(--efm-primary-soft);color:#1e40af;font-size:12.5px;text-align:center}
.efm-stats-preview .efm-stats-embed-code{max-width:680px;margin-top:16px;padding:11px 14px;border:1px dashed #bfdbfe;border-radius:9px;background:#fff}
.efm-stats-preview .efm-stats-empty{max-width:680px;margin:0 auto;background:#fff}

@media(max-width:720px){
	.efm-stats-preview{padding:20px 16px;border-radius:12px}
	.efm-stats-page-head h2{font-size:24px}
	.efm-stats-head{flex-direction:column}
	.efm-stats-metrics{grid-template-columns:1fr}
	.efm-stats-metrics>div{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px}
	.efm-stats-metrics b{margin-top:0;font-size:19px}
}

/* beta.11 ticket confirmation and lookup completion. */
body.efm-public-owned.efm-public-host-page-events h1.entry-title,
body.efm-public-owned.efm-public-host-page-events h1.main_title,
body.efm-public-owned.efm-public-host-page-ticket h1.entry-title,
body.efm-public-owned.efm-public-host-page-ticket h1.main_title,
body.efm-public-owned.efm-public-host-page-lookup h1.entry-title,
body.efm-public-owned.efm-public-host-page-lookup h1.main_title,
body.efm-public-owned.efm-public-host-page-checkin h1.entry-title,
body.efm-public-owned.efm-public-host-page-checkin h1.main_title{display:none}
body.efm-public-host-page-ticket .efm,
body.efm-public-host-page-lookup .efm,
body.efm-public-host-page-checkin .efm{margin-top:24px;margin-bottom:42px}

.efm-ticket-page{max-width:820px}
.efm-ticket-page>.efm-notice{max-width:650px;margin-left:auto;margin-right:auto}
.efm-ticket-page-head{text-align:center;max-width:620px;margin:0 auto 20px}
.efm-ticket-page-head h2{font-size:25px;line-height:1.2;font-weight:800;letter-spacing:-.4px;margin:10px 0 5px;color:var(--efm-ink)}
.efm-ticket-page-head p{margin:0;color:var(--efm-muted);font-size:13.5px;line-height:1.55}
.efm-ticket-code-help{margin-top:3px;color:var(--efm-muted);font-size:11.5px}
.efm-ticket-invalid{margin:22px auto 16px;max-width:230px;border:1px solid #fecaca;border-radius:10px;background:var(--efm-danger-soft);color:var(--efm-danger);font-size:13px;font-weight:800;text-align:center;padding:14px}
.efm-ticket-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;max-width:720px;margin:17px auto 0}
.efm-inline-form{display:inline-flex;margin:0}
.efm-inline-form .efm-btn{width:auto}

.efm-ticket-result-list{display:flex;flex-direction:column;gap:10px;max-width:720px;margin:0 auto 20px}
.efm-ticket-result{display:grid;grid-template-columns:46px minmax(0,1fr) auto auto;align-items:center;gap:13px;background:#fff;border:1px solid var(--efm-border);border-radius:12px;padding:14px 15px;box-shadow:0 2px 10px rgba(15,23,42,.04)}
.efm-ticket-result:hover{border-color:#bfdbfe;box-shadow:0 5px 18px rgba(37,99,235,.08)}
.efm-ticket-result-icon{width:46px;height:46px;border-radius:10px;background:var(--efm-primary-soft);color:var(--efm-primary);display:flex;align-items:center;justify-content:center;font-size:21px}
.efm-ticket-result-main{min-width:0}
.efm-ticket-result-main h3{margin:0 0 2px;color:var(--efm-ink);font-size:14.5px;line-height:1.3;font-weight:800}
.efm-ticket-result-main p{margin:0;color:var(--efm-muted);font-size:12.5px;overflow-wrap:anywhere}
.efm-ticket-result-main code{color:#334155;font-size:11.5px;font-weight:700}
.efm-ticket-result-main small{display:block;margin-top:2px;color:var(--efm-muted);font-size:11.5px}
.efm-ticket-result .efm-btn{min-height:34px;padding:7px 11px;font-size:12px;white-space:nowrap}

@media(max-width:700px){
	.efm-ticket-result{grid-template-columns:42px minmax(0,1fr) auto}
	.efm-ticket-result-icon{width:42px;height:42px}
	.efm-ticket-result>.efm-btn{grid-column:2/-1;width:100%}
	.efm-ticket-toolbar{align-items:stretch}
	.efm-ticket-toolbar>.efm-btn,.efm-ticket-toolbar>.efm-inline-form{flex:1 1 190px}
	.efm-ticket-toolbar .efm-btn{width:100%}
}
@media(max-width:460px){
	.efm-ticket-result{grid-template-columns:38px minmax(0,1fr);gap:10px}
	.efm-ticket-result-icon{width:38px;height:38px;font-size:18px}
	.efm-ticket-result>.efm-badge{grid-column:2;justify-self:start}
	.efm-ticket-result>.efm-btn{grid-column:1/-1}
	.efm-ticket-page-head h2{font-size:22px}
}

@media print{
	.efm-ticket-page-head,.efm-ticket-toolbar,.efm-ticket-page>.efm-notice{display:none!important}
}

/* beta.17: public UI consistency and interaction hardening. */
body.efm-public-host .entry-content{overflow:visible}
body.efm-public-host .entry-content>.efm,body.efm-public-host .et_pb_text_inner>.efm{margin-top:24px;margin-bottom:42px}
.efm button,.efm input,.efm select{font-family:inherit}
.efm-btn{white-space:nowrap;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,opacity .16s ease}
.efm-btn.is-busy,.efm-btn[aria-disabled="true"]{opacity:.65;cursor:wait;pointer-events:none}
.efm-btn:focus-visible,.efm input:focus-visible,.efm select:focus-visible{outline:3px solid rgba(37,99,235,.22);outline-offset:2px}
.efm-form-card input:invalid:not(:placeholder-shown){border-color:#fca5a5}
.efm-payment-option:focus-within{border-color:#93c5fd;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
.efm-result-copy{flex:1;min-width:0}
.efm-manual-copy{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.efm-manual-copy small{color:var(--efm-muted);font-size:11.5px}
.efm-manual-copy .efm-badge{margin-top:3px}
.efm-manual-status{margin:8px 0 0;padding:9px 11px;border-radius:8px;background:#f8fafc;color:var(--efm-muted);font-size:12.5px}
.efm-manual-error{background:var(--efm-danger-soft);color:var(--efm-danger)}
.efm-manual-item .efm-btn{flex-shrink:0}

@media(max-width:620px){
	.efm-event-row{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px 14px}
	.efm-event-cta{grid-column:1/-1;width:100%;padding-left:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;text-align:left}
	.efm-event-cta .efm-btn{width:auto;min-width:120px}
	.efm-manual-item{align-items:stretch;flex-direction:column}
	.efm-manual-item .efm-btn{width:100%}
}
@media(max-width:420px){
	.efm-event-row{grid-template-columns:52px minmax(0,1fr)}
	.efm-event-cta{grid-template-columns:1fr}
	.efm-event-cta .efm-btn{width:100%}
}

/* beta.31: universal custom registration questions. */
.efm-required{color:#dc2626;font-size:12px}
.efm-form-card textarea{width:100%;min-height:104px;padding:10px 11px;border:1px solid var(--efm-border);border-radius:9px;background:#fff;color:var(--efm-ink);font:inherit;resize:vertical;box-sizing:border-box}
.efm-custom-check{display:grid!important;grid-template-columns:auto minmax(0,1fr);column-gap:9px;row-gap:2px;padding:11px 12px;border:1px solid var(--efm-border);border-radius:10px;background:#f8fafc;margin-top:0!important}
.efm-custom-check input{grid-row:1/3}
.efm-custom-check span{font-weight:700;color:var(--efm-ink)}
.efm-custom-check small{grid-column:2;color:var(--efm-muted);font-size:11.5px;line-height:1.45}

/* beta.31: plugin-owned event registration route; independent of page/CPT rewrites. */
.efm-direct-registration-host{width:100%;max-width:1180px;margin:0 auto;padding:32px 24px 52px}
body.efm-public-host-page-register .efm-direct-registration-host .efm{margin-top:0;margin-bottom:0}
@media(max-width:640px){.efm-direct-registration-host{padding:22px 14px 38px}}

/* beta.32: theme-safe event registration routing. Normal event links now render
   inside the canonical WordPress Registration page, allowing every theme to own
   its header/footer lifecycle. These rules apply only to the emergency fallback
   used when that page is missing. */
body.efm-standalone-registration{margin:0;background:#f5f7fb;color:#0f172a}
.efm-standalone-header{display:flex;align-items:center;min-height:64px;padding:14px 24px;border-bottom:1px solid #e2e8f0;background:#fff}
.efm-standalone-header a{color:#0f172a;font:700 16px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;text-decoration:none}
body.efm-standalone-registration .efm-direct-registration-host{padding-top:28px}
@media(max-width:640px){.efm-standalone-header{min-height:56px;padding:12px 14px}}

/* Payment lifecycle state — beta.38 */
.efm-badge-refund_pending{background:var(--efm-warn-soft);color:var(--efm-warn)}


/* beta.40: compatibility modes. All theme adjustments are restricted to the
   page body. Divi Theme Builder header/footer rows, logos, menus, and global
   modules are deliberately excluded. */
.efm img,.efm svg,.efm video,.efm canvas{max-width:100%}
.efm button,.efm input,.efm select,.efm textarea{max-width:100%;min-width:0;font-family:inherit;letter-spacing:normal;text-transform:none}
.efm button{appearance:none;-webkit-appearance:none;box-shadow:none}
.efm input:not([type="checkbox"]):not([type="radio"]),.efm select,.efm textarea{border-style:solid;background-clip:padding-box}
.efm input[type="checkbox"],.efm input[type="radio"]{accent-color:var(--efm-primary)}
.efm-form-card textarea:focus,.efm-stats-selector select:focus,.efm-manual-search input:focus{border-color:#93c5fd;outline:3px solid rgba(37,99,235,.12);outline-offset:0}
.efm-event-meta-line,.efm-event-description,.efm-address,.efm-summary-line>span,.efm-ticket-rows b{overflow-wrap:anywhere;word-break:normal}
.efm-register-form,.efm-register-layout,.efm-register-main,.efm-summary-card{min-width:0}
body.admin-bar .efm-summary-card{top:56px}

/* Safe and enhanced modes center the Event Flow component without altering
   surrounding theme chrome. */
body.efm-public-owned:not(.efm-compat-off) .entry-content>.efm,
body.efm-public-owned:not(.efm-compat-off) .wp-block-post-content>.efm,
body.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_text_inner>.efm,
body.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_text_inner>.efm{
	width:100%;max-width:1180px;margin-left:auto;margin-right:auto;
}

/* Divi 4/5 safe mode: only the body content container is normalized. No
   selector reaches .et-l--header, .et-l--footer, #main-header, or their rows. */
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content>.container,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #main-content>.container{
	width:min(94%,1180px);max-width:1180px;padding-top:30px;
}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content>.container:before,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #main-content>.container:before{display:none!important}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content #left-area,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #left-area{width:100%!important;float:none!important;padding:0!important}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content #sidebar,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content #secondary,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #sidebar,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #secondary{display:none!important}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_section,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_section{max-width:none}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_row,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_row{width:100%;max-width:1180px}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_column,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_module,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_text_inner,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_column,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_module,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_text_inner{width:100%;max-width:none;min-width:0}
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_text_inner,
body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_text_inner{overflow:visible}

/* Enhanced mode widens narrow classic/block article wrappers. Safe mode leaves
   those theme containers native; the Event Flow component still remains fluid. */
body.efm-compat-fullwidth.efm-public-owned .site-content,
body.efm-compat-fullwidth.efm-public-owned .content-area,
body.efm-compat-fullwidth.efm-public-owned #primary,
body.efm-compat-fullwidth.efm-public-owned main.site-main,
body.efm-compat-fullwidth.efm-public-owned article.page,
body.efm-compat-fullwidth.efm-public-owned article.page>.entry-content,
body.efm-compat-fullwidth.efm-public-owned .wp-block-post-content{
	width:100%;max-width:none;min-width:0;float:none;
}
body.efm-compat-fullwidth.efm-public-owned #secondary.widget-area,
body.efm-compat-fullwidth.efm-public-owned main.site-main+.widget-area{display:none!important}
body.efm-theme-block.efm-compat-fullwidth.efm-public-owned main.wp-block-group,
body.efm-theme-block.efm-compat-fullwidth.efm-public-owned .wp-site-blocks>main,
body.efm-theme-block.efm-compat-fullwidth.efm-public-owned .wp-block-post-content{
	width:100%;max-width:none!important;min-width:0;
}
body.efm-theme-block.efm-compat-fullwidth.efm-public-owned .wp-block-post-content>.efm{
	max-width:1180px!important;padding-left:clamp(14px,2.5vw,28px);padding-right:clamp(14px,2.5vw,28px);
}

@media(max-width:900px){
	body.admin-bar .efm-summary-card{top:auto}
	body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) #main-content>.container,
	body.efm-theme-divi.efm-public-owned:not(.efm-compat-off) .et-l--body #main-content>.container{width:94%;padding-top:22px}
}
@media(max-width:620px){
	body.efm-public-owned:not(.efm-compat-off) .entry-content>.efm,
	body.efm-public-owned:not(.efm-compat-off) .wp-block-post-content>.efm,
	body.efm-public-owned:not(.efm-compat-off) #main-content .et_pb_text_inner>.efm,
	body.efm-public-owned:not(.efm-compat-off) .et-l--body .et_pb_text_inner>.efm{max-width:100%}
	.efm-summary-line{flex-wrap:wrap}
	.efm-summary-line b{margin-left:auto}
	.efm-ticket-rows div{gap:10px}
}
@media(prefers-reduced-motion:reduce){
	.efm *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}

.efm .efm-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
