/* Shared scoped tokens — brand guide 2026-10-04. */
.ecm-canvas,.ecm-shell,.ecm-admin,.ecm-report{--ecm-navy:#0B1F46;--ecm-blue:#3A70A7;--ecm-gold:#E3B336;--ecm-ice:#EAF3F8;--ecm-white:#fff;--ecm-width:1040px;--ecm-registration-width:960px;--ecm-recovery-width:820px;--ecm-card-page-width:820px;--ecm-operator-width:1120px;--ecm-reports-width:1800px;--ecm-body:17px;--ecm-line-height:1.9;--ecm-heading-scale:1;--ecm-radius:16px;--ecm-control-radius:10px;--ecm-button-radius:10px;--ecm-button-height:48px;--ecm-page-padding:36px;--ecm-section-gap:20px;--ecm-card-width:390px;--ecm-qr-size:245px;--ecm-font:inherit;--ecm-shadow:none;--ecm-transition:.16s;--ecm-text:var(--ecm-navy);--ecm-muted:#405775;--ecm-bg:var(--ecm-ice);--ecm-surface:var(--ecm-white);--ecm-surface-2:var(--ecm-ice);--ecm-line:#cedbe5;--ecm-success:#166534;--ecm-danger:#B91C1C;--ecm-warning:#92400E;--ecm-accent:var(--ecm-blue);--ecm-accent-2:var(--ecm-gold);--ea-bg:var(--ecm-white);--ea-surface:var(--ecm-white);--ea-line:var(--ecm-line);--ea-text:var(--ecm-text);--ea-muted:var(--ecm-muted);--ea-blue:var(--ecm-blue)}
body.ecm-canvas{margin:0;min-height:100vh;background:var(--ecm-ice);color:var(--ecm-text);font-family:var(--ecm-font);line-height:var(--ecm-line-height);overflow-wrap:anywhere}
.ecm-canvas #wpadminbar{display:none!important}html:has(body.ecm-canvas){margin-top:0!important}
.ecm-shell{width:min(calc(100% - 32px),var(--ecm-width));margin:32px auto;background:var(--ecm-white);border:1px solid var(--ecm-line);border-radius:var(--ecm-radius);box-shadow:var(--ecm-shadow);font-family:var(--ecm-font);font-size:var(--ecm-body);line-height:var(--ecm-line-height)}
.ecm-shell h1{font-size:calc(34px * var(--ecm-heading-scale));color:var(--ecm-text);line-height:1.5}.ecm-shell h2{color:var(--ecm-text);font-size:calc(24px * var(--ecm-heading-scale))}.ecm-hero{padding:var(--ecm-page-padding) var(--ecm-page-padding) 16px}.ecm-content{padding:16px var(--ecm-page-padding) var(--ecm-page-padding);color:var(--ecm-text)}
.ecm-phone-bar{display:flex;justify-content:center;color:var(--ecm-navy);background:var(--ecm-ice);height:auto;min-height:48px;font-size:14px}.ecm-phone-bar span{display:none}.ecm-kicker{display:none}
.ecm-button,.ecm-report .button{min-height:var(--ecm-button-height);border-radius:var(--ecm-button-radius);font-size:16px;line-height:1.6;box-shadow:none;transition:background-color var(--ecm-transition),color var(--ecm-transition),transform var(--ecm-transition);white-space:normal}
.ecm-button--primary,.ecm-report .button-primary{background:var(--ecm-gold);color:var(--ecm-navy)!important;border:1px solid transparent;box-shadow:none}
.ecm-button--primary:hover,.ecm-report .button-primary:hover{background:var(--ecm-blue);color:#fff!important;transform:none;filter:none}
.ecm-button--ghost{background:var(--ecm-ice);color:var(--ecm-text)!important;border-color:var(--ecm-line)}
/* High-specificity public controls: themes/builders must not reset ECM buttons. */
body.ecm-canvas .ecm-shell :is(a.ecm-button,button.ecm-button,input.ecm-button){-webkit-appearance:none!important;appearance:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:var(--ecm-button-height)!important;margin:0;padding:11px 22px!important;border:1px solid transparent!important;border-radius:var(--ecm-button-radius)!important;font-family:var(--ecm-font)!important;font-size:16px!important;font-weight:800!important;line-height:1.6!important;text-align:center!important;text-decoration:none!important;cursor:pointer!important;box-shadow:none!important;opacity:1}
body.ecm-canvas .ecm-shell :is(a.ecm-button,button.ecm-button,input.ecm-button).ecm-button--primary{background-color:var(--ecm-gold)!important;background-image:none!important;color:var(--ecm-navy)!important;border-color:var(--ecm-gold)!important}
body.ecm-canvas .ecm-shell :is(a.ecm-button,button.ecm-button,input.ecm-button).ecm-button--primary:hover{background-color:var(--ecm-blue)!important;background-image:none!important;color:#fff!important;border-color:var(--ecm-blue)!important}
body.ecm-canvas .ecm-shell :is(a.ecm-button,button.ecm-button,input.ecm-button).ecm-button--ghost{background-color:var(--ecm-ice)!important;background-image:none!important;color:var(--ecm-text)!important;border-color:var(--ecm-line)!important}
body.ecm-canvas .ecm-shell .ecm-button--wide{width:100%!important}
.ecm-shell :is(button,a,input,select,textarea):focus-visible,.ecm-admin :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--ecm-blue);outline-offset:3px}
.ecm-shell button:disabled{opacity:.65;cursor:wait;transform:none}.ecm-field input:not([type=radio]):not([type=checkbox]),.ecm-field textarea,.ecm-field select{color:var(--ecm-text);background:var(--ecm-white);border:1px solid var(--ecm-line);border-radius:var(--ecm-control-radius);font-family:var(--ecm-font);font-size:16px;min-height:var(--ecm-button-height)}
.ecm-field input:is([type=tel],[type=email],[type=url],[type=number]){direction:ltr;text-align:left}.ecm-field>label,.ecm-choices label{color:var(--ecm-text)}
.ecm-price-row{background:var(--ecm-ice);border:1px solid var(--ecm-line);border-radius:12px}.ecm-back{color:var(--ecm-blue)!important}
.ecm-pass{width:min(100%,var(--ecm-card-width));min-height:0;background:var(--ecm-white);border:1px solid var(--ecm-line);border-radius:var(--ecm-radius);padding:24px;box-shadow:var(--ecm-shadow);color:var(--ecm-text);text-align:center}.ecm-pass:before{display:none}.ecm-pass__top{justify-content:center;margin-bottom:16px;text-align:center}.ecm-pass__qr{width:var(--ecm-qr-size);max-width:100%;border-radius:0;padding:0;background:#fff}.ecm-pass h2{font-size:22px;color:var(--ecm-text)}.ecm-pass code{background:var(--ecm-ice);padding:4px 12px;font-size:15px;color:var(--ecm-text)}.ecm-card-instruction{font-size:16px;color:var(--ecm-muted)}
.ecm-state{padding:48px 24px;min-height:360px;color:var(--ecm-text)}.ecm-state__icon{box-shadow:none!important;background:#F0FDF4;color:var(--ecm-success);width:80px;height:80px}.ecm-state--warning .ecm-state__icon{background:#FFFBEB;color:var(--ecm-warning)}.ecm-state--error .ecm-state__icon{background:#FEF2F2;color:var(--ecm-danger)}.ecm-notice--error{background:#FEF2F2;color:var(--ecm-danger);border-color:#fecaca}
.ecm-attendee-name{margin:0 0 14px;color:var(--ecm-muted);font-weight:700}.ecm-session-time{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:min(100%,520px);margin:0 auto 22px}.ecm-session-time span{display:flex;flex-direction:column;gap:3px;padding:11px 14px;background:var(--ecm-ice);border:1px solid var(--ecm-line);border-radius:10px}.ecm-session-time b{font-size:12px;color:var(--ecm-muted)}.ecm-session-time time{direction:ltr;unicode-bidi:isolate;color:var(--ecm-navy);font-weight:800}
.ecm-report{color:var(--ecm-navy);background:linear-gradient(180deg,var(--ecm-white),#fbfdff);border:1px solid var(--ecm-line);border-radius:var(--ecm-radius);padding:clamp(18px,3vw,32px)}.ecm-report__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.ecm-report__header h1{color:var(--ecm-navy);margin:0 0 5px}.ecm-report__header p{margin:0}.ecm-report__actions{display:flex;flex-wrap:wrap;gap:8px}.ecm-report__actions .button{display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;text-decoration:none;border:1px solid var(--ecm-line);background:#fff;color:var(--ecm-navy);font-weight:800}.ecm-report-filter{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr)) auto;gap:12px;align-items:end;margin:22px 0;padding:18px;border:1px solid var(--ecm-line);border-radius:14px;background:#f4f8fb}.ecm-report-filter--no-finance{grid-template-columns:minmax(240px,2fr) repeat(3,minmax(150px,1fr)) auto}.ecm-report-filter label{display:grid;gap:7px;min-width:0;font-weight:800}.ecm-report-filter input,.ecm-report-filter select{width:100%;color:var(--ecm-navy);background:var(--ecm-white);min-height:44px;border:1px solid #91a8ba;border-radius:9px}.ecm-report-filter input[type=date]{direction:ltr;text-align:left}.ecm-report-filter .button{min-height:44px;margin:0;padding-inline:20px}.ecm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:18px 0}.ecm-stats>div,.ecm-column-picker{background:var(--ecm-ice);border:1px solid var(--ecm-line);border-radius:12px}.ecm-stats>div{padding:17px}.ecm-stats span,.ecm-stats strong{display:block}.ecm-stats strong{margin-top:5px;font-size:24px}.ecm-column-picker{margin:18px 0;padding:17px}.ecm-column-picker summary{font-weight:800;cursor:pointer}.ecm-table-scroll{max-width:100%;overflow:auto;border:1px solid var(--ecm-line);border-radius:12px;box-shadow:0 10px 30px rgba(11,31,70,.06)}.ecm-report-table{width:100%;min-width:900px;border-collapse:collapse}.ecm-report-table,.ecm-report-table th,.ecm-report-table td{color:var(--ecm-navy)!important;background:var(--ecm-white)!important}.ecm-report-table th,.ecm-report-table td{padding:11px 12px;border-bottom:1px solid #dbe6ed;vertical-align:top;white-space:nowrap}.ecm-report-table thead th{position:sticky;top:0;z-index:2;background:var(--ecm-ice)!important;font-weight:800}.ecm-status--paid{color:#166534;background:#F0FDF4}.ecm-event-list{min-width:270px;margin:7px 0}.ecm-event-list li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid var(--ecm-line)}.ecm-event-list small{display:block;max-width:360px;color:#405775;white-space:normal}.ecm-report-table details summary{color:var(--ecm-blue);font-weight:800;cursor:pointer}
.ecm-admin__header{color:var(--ecm-navy);background:var(--ecm-ice);border:1px solid var(--ecm-line);box-shadow:none}.ecm-admin__header h1{color:var(--ecm-navy)}.ecm-tabs button.is-active{background:var(--ecm-navy)}.ecm-upgrade-settings{background:white;border:1px solid #dcdcde;border-radius:16px;padding:24px;margin-top:16px}.ecm-setting textarea{width:100%;border-radius:8px}.ecm-column-actions{display:flex;gap:8px;margin-top:16px}.ecm-admin .button-primary{background:var(--ecm-navy);border-color:var(--ecm-navy);color:#fff}.ecm-admin .ecm-report{border:1px solid var(--ecm-line)}
@media(max-width:1080px){.ecm-report-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.ecm-report-filter .button{width:100%}}
@media(max-width:768px){.ecm-shell{width:calc(100% - 24px);margin:16px auto}.ecm-hero{padding:24px 20px 12px;flex-wrap:wrap;gap:16px}.ecm-content{padding:12px 20px 24px}.ecm-shell h1{font-size:26px}.ecm-shell h2{font-size:22px}.ecm-field-grid{grid-template-columns:1fr}.ecm-card-actions{flex-direction:column}.ecm-card-actions .ecm-button{width:100%}.ecm-shell{font-size:16px}.ecm-report{padding:16px}.ecm-report__header{flex-direction:column;align-items:stretch}.ecm-report__actions{display:grid;grid-template-columns:1fr}.ecm-report__actions .button{width:100%}.ecm-report-filter{grid-template-columns:1fr}.ecm-report .ecm-table-scroll{overflow:visible;border:0;background:transparent;box-shadow:none}.ecm-report-table{display:block;min-width:0;border:0}.ecm-report-table thead{display:none}.ecm-report-table tbody,.ecm-report-table tr,.ecm-report-table td{display:block;width:100%}.ecm-report-table tbody{display:grid;gap:14px}.ecm-report-table tbody tr{overflow:hidden;border:1px solid var(--ecm-line);border-radius:13px;background:#fff;box-shadow:0 8px 22px rgba(11,31,70,.06)}.ecm-report-table tbody td{display:grid;grid-template-columns:minmax(105px,34%) minmax(0,1fr);gap:12px;align-items:start;min-height:44px;padding:11px 13px;border:0;border-bottom:1px solid #e4edf2;white-space:normal;overflow-wrap:anywhere}.ecm-report-table tbody td:last-child{border-bottom:0}.ecm-report-table tbody td:before{content:attr(data-label);color:var(--ecm-muted);font-size:12px;font-weight:800}.ecm-report-table .ecm-report-empty td{display:block;text-align:center}.ecm-report-table .ecm-report-empty td:before{display:none}.ecm-event-list{min-width:0;margin-top:8px}.ecm-event-list li{align-items:flex-start;flex-direction:column}.ecm-upgrade-settings{padding:16px}}
@media(max-width:390px){.ecm-report-filter{grid-template-columns:1fr}.ecm-hero>a{width:100%}.ecm-price-row{grid-template-columns:1fr}.ecm-pass{padding:16px}}
@media(max-width:390px){.ecm-session-time{grid-template-columns:1fr}}
.ecm-shell .ecm-hero .ecm-button{min-height:48px;font-size:16px}.ecm-shell input:focus,.ecm-shell select:focus,.ecm-shell textarea:focus{box-shadow:none}.ecm-shell .ecm-field>label{font-size:16px}.ecm-canvas #wpadminbar{visibility:hidden!important}.ecm-card-instruction{overflow-wrap:anywhere}
/* Compact, readable and consistent spacing across public canvases. */
.ecm-status--offline_confirmed{color:#166534;background:#F0FDF4}
body.ecm-canvas main{min-height:100vh;padding:clamp(12px,3vw,32px) 0}
.ecm-shell{margin:0 auto;overflow:hidden}
.ecm-registration{width:min(calc(100% - 32px),var(--ecm-registration-width))}
.ecm-recovery{width:min(calc(100% - 32px),var(--ecm-recovery-width))}
.ecm-card-shell{width:min(calc(100% - 32px),var(--ecm-card-page-width))}
.ecm-operator-shell{width:min(calc(100% - 32px),var(--ecm-operator-width))}
.ecm-report-wrap{max-width:var(--ecm-reports-width)}
.ecm-phone-bar{min-height:52px;padding:10px 24px;border-bottom:1px solid var(--ecm-line)}
.ecm-hero{align-items:center;gap:var(--ecm-section-gap);padding:28px var(--ecm-page-padding) 22px;border-bottom:1px solid var(--ecm-line)}
.ecm-hero h1{margin:0;font-size:clamp(28px,4vw,36px);line-height:1.4}
.ecm-hero>.ecm-button,.ecm-hero>.ecm-back{flex:0 0 auto}
.ecm-content{padding:26px var(--ecm-page-padding) var(--ecm-page-padding)}
.ecm-content>p:first-child{max-width:760px;margin:0 0 20px}
.ecm-form{margin-top:20px}
.ecm-field-grid{gap:var(--ecm-section-gap)}
.ecm-price-row{margin:24px 0 16px}
.ecm-recovery .ecm-form{max-width:680px;margin:20px auto 0}
.ecm-card-page .ecm-content{padding-top:28px}
.ecm-card-page .ecm-success-copy{margin-bottom:20px}
.ecm-card-page .ecm-pass{margin-top:0}
.ecm-card-actions{margin-top:20px}
.ecm-state{min-height:340px;padding:46px 28px}
.ecm-operator-badge{display:inline-flex;align-items:center;margin:0 0 16px;padding:7px 12px;border:1px solid #86c99b;border-radius:999px;background:#f0fdf4;color:#166534;font-size:14px;font-weight:800}.ecm-operator-home .ecm-notice{margin:0 0 18px;padding:15px 17px;border:1px solid var(--ecm-line);border-radius:12px;background:var(--ecm-ice)}.ecm-operator-events{display:grid;gap:12px}.ecm-operator-events article{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px;border:1px solid var(--ecm-line);border-radius:13px;background:#fff}.ecm-operator-events article h2,.ecm-operator-events article p{margin:0}.ecm-operator-events article span{color:var(--ecm-blue);font-size:12px;font-weight:800}.ecm-operator-events article>strong{padding:6px 10px;border-radius:999px;background:var(--ecm-ice);font-size:13px;white-space:nowrap}.ecm-operator-history{margin-top:24px;padding-top:22px;border-top:1px solid var(--ecm-line)}.ecm-operator-history>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:12px}.ecm-operator-history h2{margin:0}.ecm-operator-history>div:first-child span{color:var(--ecm-muted);font-weight:700}.ecm-operator-history__list{display:grid;gap:9px;margin-top:14px}.ecm-operator-history__list article{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.5fr) auto;gap:14px;align-items:center;padding:13px 15px;border:1px solid var(--ecm-line);border-radius:11px;background:#fff}.ecm-operator-history__list article div{display:grid}.ecm-operator-history__list article span{color:var(--ecm-blue);font-size:12px;font-weight:800}.ecm-operator-history__list article p{margin:0}.ecm-operator-history__list article time{direction:ltr;unicode-bidi:isolate;white-space:nowrap}
.ecm-scanner-camera .ecm-scanner-placeholder{color:#c4ccd8}.ecm-scanner-camera .ecm-scanner-placeholder strong{color:#fff}.ecm-scanner-camera .ecm-scanner-frame{z-index:2}.ecm-scanner-camera canvas{position:relative;z-index:1}
@media(max-width:768px){body.ecm-canvas main{padding:12px 0}.ecm-registration,.ecm-recovery,.ecm-card-shell{width:calc(100% - 24px)}.ecm-hero{align-items:stretch;padding:22px 20px 18px}.ecm-hero>.ecm-button,.ecm-hero>.ecm-back{align-self:flex-start}.ecm-content{padding:22px 20px 26px}.ecm-content>p:first-child{margin-bottom:16px}.ecm-form{margin-top:16px}.ecm-field-grid{gap:15px}.ecm-card-page .ecm-content{padding-top:22px}.ecm-operator-events article{align-items:flex-start;flex-direction:column}.ecm-operator-events article>strong{white-space:normal}.ecm-operator-history>div:first-child{align-items:flex-start;flex-direction:column}.ecm-operator-history__list article{grid-template-columns:1fr;gap:5px}.ecm-operator-history__list article time{white-space:normal}}
@media(max-width:480px){.ecm-hero{flex-direction:column}.ecm-hero>.ecm-button{width:100%}.ecm-card-actions{gap:8px}.ecm-pass{width:100%}}
@media(prefers-reduced-motion:reduce){.ecm-shell *,.ecm-admin *{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
@media print{body.ecm-canvas{background:white}.ecm-card-shell .ecm-pass{border:1px solid #cedbe5;box-shadow:none}.ecm-card-instruction{color:#405775}.ecm-card-shell [data-print-mode="qr"] .ecm-card-instruction{display:none!important}.ecm-pagination,.ecm-pdf-notice{display:none!important}}
.ecm-admin .ecm-savebar{box-shadow:none;background:white;backdrop-filter:none}.ecm-admin .ecm-icon-button{min-width:44px;min-height:44px}.ecm-admin .ecm-builder-row{grid-template-columns:30px minmax(0,1fr) 44px}

/* Reports v2 keeps dense operational tables horizontally scrollable on phones. */
@media(max-width:768px){.ecm-reports-v2 .ecm-table-scroll{overflow:auto;border:1px solid var(--ecm-line);background:#fff}.ecm-reports-v2 .ecm-report-table{display:table;min-width:780px}.ecm-reports-v2 .ecm-report-table thead{display:table-header-group}.ecm-reports-v2 .ecm-report-table tbody{display:table-row-group}.ecm-reports-v2 .ecm-report-table tr{display:table-row}.ecm-reports-v2 .ecm-report-table th,.ecm-reports-v2 .ecm-report-table td{display:table-cell;width:auto;white-space:nowrap}.ecm-reports-v2 .ecm-report-table td:before{display:none}.ecm-reports-v2 .ecm-report-filter{grid-template-columns:1fr}}
