/* v2.5.1 brand abstraction: CSS remains brand-neutral; names and assets are injected by the current platform configuration. */
/* Platform Core 4.2 integration. Core owns business logic; theme owns presentation. */
:root{--ets2-bg:var(--ptxm-bg)!important;--ets2-card:var(--ptxm-surface)!important;--ets2-blue:var(--ptxm-blue)!important;--ets2-text:var(--ptxm-ink)!important;--ets2-muted:var(--ptxm-muted)!important;--ets2-line:var(--ptxm-line)!important}
.ets2-card,.ets2-event-card,.ets2-checkin-card,.ets2-wallet-event,.ets2-survey-card{background:#fff!important;color:var(--ptxm-ink)!important;border:1px solid var(--ptxm-line)!important;border-radius:14px!important;box-shadow:var(--ptxm-shadow-sm)!important}.ets2-card{padding:20px!important}.ets2-btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:42px!important;padding:10px 16px!important;border-radius:999px!important;border:1px solid var(--ptxm-blue)!important;background:var(--ptxm-blue)!important;color:#fff!important;font-size:13px!important;font-weight:750!important;text-decoration:none!important;box-shadow:none!important}.ets2-btn:hover{background:var(--ptxm-blue-dark)!important}.ets2-btn.alt{background:#fff!important;color:var(--ptxm-ink)!important;border-color:var(--ptxm-line)!important}.ets2-kicker,.ets2-public-hero .eyebrow{color:var(--ptxm-blue)!important;font-weight:800!important;letter-spacing:.1em!important;text-transform:uppercase!important;font-size:10.5px!important}
.ets2-public-hero{min-height:auto!important;padding:44px!important;border-radius:20px!important;background:linear-gradient(135deg,#111a2d,#17315b)!important;color:#fff!important;box-shadow:var(--ptxm-shadow)!important}.ets2-public-hero h1{color:#fff!important;font-family:var(--ptxm-font)!important;font-size:clamp(38px,5vw,58px)!important;line-height:1.02!important;letter-spacing:-.05em!important}.ets2-public-hero p{color:#cad4e4!important;max-width:760px!important}.ets2-stats,.ets2-kpis{gap:11px!important}.ets2-stats div,.ets2-kpis div{background:#fff!important;border:1px solid var(--ptxm-line)!important;border-radius:13px!important;box-shadow:none!important}.ets2-stats b,.ets2-kpis span{color:var(--ptxm-blue)!important;font-size:28px!important}.ets2-stats span,.ets2-kpis b{color:var(--ptxm-muted)!important}
/* Never stretch radio buttons / checkboxes into text-field dimensions. */
.ets2-checkout input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ets2-checkout textarea,.ets2-checkout select,.ets2-scanner input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),.ets2-card input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="submit"]):not([type="button"]),.ets2-card textarea,.ets2-card select,.ets2-wallet input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]){width:100%;min-height:40px;padding:9px 11px!important;border:1px solid #cfd6e3!important;border-radius:8px!important;background:#fff!important;color:var(--ptxm-ink)!important;box-shadow:none!important}.ets2-checkout input:focus,.ets2-checkout textarea:focus,.ets2-card input:focus,.ets2-card textarea:focus,.ets2-card select:focus,.ets2-wallet input:focus{outline:3px solid rgba(60,91,242,.1)!important;border-color:#8da1ff!important}.ets2-checkout input[type="checkbox"],.ets2-checkout input[type="radio"],.ets2-card input[type="checkbox"],.ets2-card input[type="radio"],.ets2-wallet input[type="checkbox"],.ets2-wallet input[type="radio"],.ets2-scanner input[type="checkbox"],.ets2-scanner input[type="radio"]{appearance:auto!important;-webkit-appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;max-width:16px!important;max-height:16px!important;padding:0!important;margin:0 7px 0 0!important;box-shadow:none!important;vertical-align:-3px!important}
.ets2-ticket-line{border:1px solid var(--ptxm-line)!important;border-radius:11px!important;background:#fff!important;padding:13px!important}.ets2-note,.ets2-ticket-line em{color:var(--ptxm-muted)!important}.ets2-card h2,.ets2-card h3,.ets2-dashboard h2,.ets2-checkin-wrap h2,.ets2-wallet h2{font-family:var(--ptxm-font)!important;color:var(--ptxm-ink)!important;letter-spacing:-.025em!important}.ets2-consent-box{border:1px solid #dbe3ff!important;background:#f8faff!important;border-radius:11px!important;padding:15px!important}.ets2-consent-box label{display:block;margin:8px 0!important}
.ets2-dashboard table,.ets2-card table{width:100%;border-collapse:collapse;background:#fff!important}.ets2-dashboard th,.ets2-dashboard td,.ets2-card th,.ets2-card td{padding:9px 10px!important;border-bottom:1px solid var(--ptxm-line)!important;text-align:left;font-size:12px}.ets2-dashboard th,.ets2-card th{background:#f8fafc!important;color:#667085!important;font-size:10px!important;text-transform:uppercase!important;letter-spacing:.055em!important}.ets2-dashboard canvas{background:#fff!important;border:1px solid var(--ptxm-line)!important;border-radius:11px!important;padding:7px!important}.ets2-checkin-wrap{max-width:none!important}.ets2-checkin-grid{gap:13px!important}.ets2-scanner-frame{background:#111827!important;border-radius:14px!important}.ets2-scanner-overlay{border-color:#60a5fa!important}.ets2-scan-box{border-radius:10px!important;background:#f8fafc!important}.ets2-scan-valid{border-left-color:var(--ptxm-success)!important;background:#f0fdf4!important}.ets2-scan-pending{border-left-color:#d97706!important;background:#fffbeb!important}.ets2-scan-invalid{border-left-color:var(--ptxm-danger)!important;background:#fef2f2!important}.ets2-badge,.ets2-status-pill{border-radius:999px!important}.ets2-wallet{max-width:1020px;margin-inline:auto}.ets2-wallet-auth{max-width:580px;margin:25px auto;padding:30px!important;background:#fff;border:1px solid var(--ptxm-line);border-radius:18px;box-shadow:var(--ptxm-shadow-sm)}.ets2-qr-canvas canvas,.ets2-qr-canvas img{background:#fff;padding:8px;border:1px solid var(--ptxm-line);border-radius:9px}.ets2-survey-card{max-width:700px;margin:30px auto;padding:28px!important}.ets2-survey-card label{display:grid;gap:6px;margin:14px 0}
.ptxm-app-page .ptxm-page-content>.ptxm-wrap{width:min(1240px,calc(100% - 28px))}.ptxm-app-page .ptxm-page-content{padding-top:20px}
@media(max-width:680px){.ets2-public-hero{padding:27px 21px!important}.ets2-stats,.ets2-kpis{grid-template-columns:1fr 1fr!important}.ets2-ticket-line{align-items:flex-start!important;flex-direction:column!important}.ets2-cards{grid-template-columns:1fr!important}}
@media(max-width:430px){.ets2-stats,.ets2-kpis{grid-template-columns:1fr!important}}
.ets2-auth-card{max-width:680px!important;margin:18px auto!important;padding:28px!important;border:1px solid var(--ptxm-line)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--ptxm-shadow-sm)!important}.ets2-auth-card h2{font-size:28px!important;margin:8px 0!important}.ets2-auth-card input[type="text"],.ets2-auth-card input[type="password"]{width:100%!important;min-height:42px!important;padding:9px 11px!important;border:1px solid #cfd6e3!important;border-radius:8px!important}.ets2-auth-card .login-submit input{width:auto!important;min-height:40px!important;padding:8px 16px!important;border:0!important;border-radius:999px!important;background:var(--ptxm-blue)!important;color:#fff!important;font-weight:750!important}.ets2-auth-orgs{display:grid;gap:8px;margin:14px 0}.ets2-auth-orgs article{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--ptxm-line);border-radius:10px}.ets2-auth-orgs article div{display:flex;gap:12px;flex-wrap:wrap}.ets2-volunteer-public{max-width:760px;margin:0 auto}.ets2-volunteer-public h1{font-size:clamp(36px,5vw,52px);line-height:1.05;letter-spacing:-.045em}.ets2-volunteer-form input[type="file"]{width:auto!important}.ets2-volunteer-form input[type="checkbox"]{width:16px!important;height:16px!important}.ets2-inline-choice{display:flex!important;align-items:flex-start!important;gap:6px!important}

/* 2.3.6 — public pill labels and website-native organizer sign-in */
.ets2-kicker-pill,.pp-why-hero .ets2-kicker{display:inline-flex!important;align-items:center!important;width:max-content!important;padding:7px 12px!important;border:1px solid #cbd5ff!important;border-radius:999px!important;background:linear-gradient(135deg,#eef2ff,#effcf8)!important;box-shadow:0 6px 16px rgba(60,91,242,.07)!important;color:#3d4fd2!important;line-height:1!important}
.ets2-auth-shell{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);max-width:1000px;margin:0 auto;border:1px solid var(--ptxm-line);border-radius:26px;background:#fff;overflow:hidden;box-shadow:0 24px 60px rgba(16,24,40,.11)}
.ets2-auth-brand{position:relative;overflow:hidden;padding:48px 42px;background:radial-gradient(circle at 86% 12%,rgba(56,189,248,.3),transparent 26%),radial-gradient(circle at 12% 90%,rgba(139,92,246,.28),transparent 31%),linear-gradient(145deg,#111a2d,#203c75 62%,#11685e);color:#fff}
.ets2-auth-brand:after{content:"";position:absolute;width:210px;height:210px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-95px;bottom:-80px}.ets2-auth-brand>*{position:relative;z-index:1}.ets2-auth-brand-pill{display:inline-flex;padding:7px 11px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:10px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.ets2-auth-brand h2{margin:22px 0 13px!important;color:#fff!important;font-size:clamp(32px,4vw,46px)!important;line-height:1.02!important;letter-spacing:-.045em!important}.ets2-auth-brand p{max-width:420px;color:#dbe6f7;font-size:15px}.ets2-auth-benefits{display:grid;gap:10px;margin-top:28px}.ets2-auth-benefits span{display:flex;align-items:center;gap:8px;color:#eef6ff;font-weight:650;font-size:13px}
.ets2-auth-panel{padding:48px 46px;align-self:center}.ets2-auth-panel h1{margin:12px 0 9px;font-family:var(--ptxm-font);font-size:clamp(34px,4vw,48px);line-height:1;letter-spacing:-.045em;color:var(--ptxm-ink)}.ets2-auth-panel>p{margin:0 0 24px;color:var(--ptxm-muted);max-width:520px}.ets2-auth-form{display:grid;gap:16px}.ets2-auth-form>label{display:grid;gap:7px;color:#344054;font-size:12px;font-weight:800}.ets2-auth-form input[type="text"],.ets2-auth-form input[type="password"]{width:100%!important;min-height:48px!important;padding:11px 13px!important;border:1px solid #cfd6e3!important;border-radius:11px!important;background:#fff!important;color:var(--ptxm-ink)!important;box-shadow:none!important}.ets2-auth-form input:focus{outline:3px solid rgba(60,91,242,.1)!important;border-color:#8da1ff!important}.ets2-auth-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:-2px;font-size:12px}.ets2-auth-options>a,.ets2-auth-foot a{color:var(--ptxm-blue-dark);font-weight:750;text-decoration:none}.ets2-auth-remember{display:flex!important;align-items:center!important;gap:7px!important;font-weight:650!important}.ets2-auth-remember input[type="checkbox"]{appearance:auto!important;-webkit-appearance:auto!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;margin:0!important}.ets2-auth-submit{width:100%!important;min-height:48px!important;margin-top:2px!important;font-size:14px!important}.ets2-auth-secondary{width:100%!important;min-height:46px!important}.ets2-auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0 15px;color:#98a2b3;font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.ets2-auth-divider:before,.ets2-auth-divider:after{content:"";height:1px;flex:1;background:#eaecf0}.ets2-auth-foot{margin:18px 0 0!important;color:#7a8291!important;font-size:12px!important;line-height:1.55}.ets2-auth-message{margin:0 0 17px;padding:12px 14px;border-radius:11px;border:1px solid}.ets2-auth-message.bad{background:#fef3f2;border-color:#fecdca;color:#912018}.ets2-auth-message.ok{background:#ecfdf3;border-color:#abefc6;color:#05603a}.ets2-auth-signed-in{max-width:850px!important;padding:34px!important}.ets2-auth-signed-in .ets2-auth-orgs article{background:#f9fbff}
@media(max-width:820px){.ets2-auth-shell{grid-template-columns:1fr}.ets2-auth-brand{padding:34px 28px}.ets2-auth-brand h2{font-size:34px!important}.ets2-auth-panel{padding:32px 28px}}
@media(max-width:480px){.ets2-auth-brand{display:none}.ets2-auth-panel{padding:28px 20px}.ets2-auth-options{align-items:flex-start;flex-direction:column;gap:8px}}
