.mer-events{display:grid;gap:24px;max-width:820px;margin:0 auto}.mer-event-card,.mer-registration-wrap{box-sizing:border-box}.mer-event-card{border:1px solid #e1e5ea;border-radius:16px;padding:22px;background:#fff;box-shadow:0 4px 18px rgba(0,0,0,.05)}.mer-event-heading{margin-bottom:18px}.mer-event-heading h2{margin:0 0 4px;font-size:1.45rem}.mer-event-date{font-weight:600;color:#4b5563}.mer-registration-form{display:grid;gap:16px}.mer-field{display:grid;gap:6px}.mer-field label{font-weight:700}.mer-field input,.mer-field select{width:100%;box-sizing:border-box;min-height:48px;padding:10px 12px;border:1px solid #b8c0cc;border-radius:8px;background:#fff;font:inherit}.mer-field input:focus,.mer-field select:focus{outline:2px solid currentColor;outline-offset:1px}.mer-field small{color:#606a78}.mer-submit{min-height:48px;border:0;border-radius:8px;padding:11px 20px;background:#1d4ed8;color:#fff;font:inherit;font-weight:700;cursor:pointer}.mer-submit:hover{filter:brightness(.94)}.mer-notice{padding:12px 14px;margin:0 0 16px;border-radius:8px;background:#f3f4f6}.mer-success{background:#ecfdf3;border:1px solid #86efac;color:#166534}.mer-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}@media(max-width:600px){.mer-event-card{padding:16px;border-radius:12px}.mer-event-heading h2{font-size:1.25rem}}

/* Public member attendance flow (v3). */
.mer-public-checkin{display:grid;gap:16px}.mer-public-label{display:block;font-weight:700;margin-bottom:7px}.mer-code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}.mer-public-code{box-sizing:border-box;width:100%;min-height:54px;padding:10px 14px;border:1px solid #b8c0cc;border-radius:9px;background:#fff;font:inherit;font-size:1.35rem;letter-spacing:.13em;font-weight:700}.mer-public-code:focus{outline:2px solid currentColor;outline-offset:1px}.mer-help{margin:7px 0 0;color:#606a78}.mer-scan-actions{display:flex;flex-wrap:wrap;gap:10px}.mer-secondary-button,.mer-photo-label{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 16px;border:1px solid #9ca3af;border-radius:8px;background:#fff;color:#111827;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.mer-photo-label input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;clip-path:inset(50%)}.mer-public-camera{padding:12px;border:1px solid #d1d5db;border-radius:12px;background:#f9fafb}.mer-public-video{display:block;width:100%;max-height:430px;object-fit:cover;border-radius:9px;background:#111}.mer-camera-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.mer-public-scan-status{min-height:1.3em;color:#4b5563}.mer-public-result{min-height:1px}.mer-member-result{padding:18px;border:1px solid #d1d5db;border-radius:12px;background:#f9fafb}.mer-member-result-label{font-size:.85rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#6b7280}.mer-member-name{font-size:1.65rem;line-height:1.2;font-weight:800;margin:5px 0}.mer-member-meta{margin-bottom:14px}.mer-member-meta code{font-size:1rem}.mer-confirm-row{display:flex;gap:9px;align-items:flex-start;margin:14px 0}.mer-confirm-row input{width:22px;height:22px;flex:0 0 auto;margin-top:1px}.mer-complete{text-align:center}.mer-complete .mer-member-name{font-size:1.8rem}.mer-public-refresh{margin-top:5px}
@media(max-width:600px){.mer-code-row{grid-template-columns:1fr}.mer-code-row .mer-submit,.mer-scan-actions>*{width:100%}.mer-camera-buttons>*{width:100%}.mer-member-name{font-size:1.45rem}}

/* Public self-registration, council selection and live attendee count (v4). */
.mer-public-attendee-count{display:flex;align-items:baseline;justify-content:center;gap:9px;padding:14px 18px;border-radius:12px;background:#eff6ff;border:1px solid #bfdbfe;text-align:center}.mer-public-count-number{font-size:2.25rem;line-height:1;font-weight:900}.mer-public-count-label{font-weight:800;color:#334155}.mer-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a8a}.mer-public-name-field,.mer-public-council-field{display:grid;gap:7px;margin:14px 0}.mer-public-full-name,.mer-public-council{box-sizing:border-box;width:100%;min-height:50px;padding:10px 12px;border:1px solid #b8c0cc;border-radius:8px;background:#fff;font:inherit}.mer-public-full-name:focus,.mer-public-council:focus{outline:2px solid currentColor;outline-offset:1px}.mer-public-action-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.mer-council-chip{display:inline-block;margin-left:10px;padding:4px 9px;border-radius:999px;background:#e5e7eb;font-size:.9rem;font-weight:800;color:#374151}.mer-new-member .mer-member-meta{margin-top:6px}.mer-public-attendee-count+.mer-public-step{margin-top:2px}
@media(max-width:600px){.mer-public-attendee-count{padding:12px}.mer-public-count-number{font-size:2rem}.mer-public-action-row>*{width:100%}.mer-council-chip{display:block;width:max-content;margin:8px auto 0}.mer-member-result:not(.mer-complete) .mer-council-chip{margin-left:0}}

/* Council attendance summary and member status (v5). */
.mer-public-council-breakdown{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.mer-public-council-count{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:74px;padding:8px 6px;border:1px solid #dbe3ec;border-radius:10px;background:#f8fafc;text-align:center}.mer-public-council-number{font-size:1.4rem;line-height:1;font-weight:900}.mer-public-council-name{margin-top:5px;font-size:.78rem;line-height:1.15;font-weight:700;color:#475569}.mer-public-status-badge{display:inline-flex;align-items:center;margin:8px 0 3px;padding:5px 10px;border-radius:999px;font-size:.82rem;font-weight:900}.mer-status-new{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}.mer-status-existing{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc}.mer-status-registered{background:#ede9fe;color:#5b21b6;border:1px solid #c4b5fd}
@media(max-width:760px){.mer-public-council-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.mer-public-council-count:last-child{grid-column:span 2}}@media(min-width:761px) and (max-width:980px){.mer-public-council-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}}
