/* Expo Visitor Registration - front end. Scoped under .evr-wrap so it coexists with page builders. */
.evr-wrap{--evr-accent:var(--primary-blue);--evr-ok:#15803d;--evr-warn:#b45309;--evr-bad:#b91c1c;--evr-line:#d4d4d8;--evr-bg:#f4f4f5;max-width:880px;margin:0 auto;font-size:16px;line-height:1.5;color:#18181b}
.evr-wrap *,.evr-wrap *::before,.evr-wrap *::after{box-sizing:border-box}
.evr-wrap h2,.evr-wrap h3{margin:0 0 .5em}
.evr-muted{color:var(--primary-blue);font-size:.9em}
.evr-hint{color:#52525b;font-size:.85em;margin:.25em 0 1em}
.evr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}

.evr-header{margin-bottom:1rem;border-bottom:3px solid var(--evr-accent);padding-bottom:.5rem}
.evr-header h2{font-size:28px;color:var(--primary-blue);line-height:1.2;margin:0;}
.evr-header p{margin:0;color:var(--text-dark);}
.evr-session{background:var(--evr-bg);padding:.5rem .75rem;border-radius:6px}

.evr-fieldset{border:1px solid var(--evr-line);border-radius:8px;padding:1rem 1rem .5rem;margin:0 0 1.25rem}
.evr-fieldset legend{font-weight:700;padding:0 .5rem}
.evr-row{display:flex;gap:.75rem;flex-wrap:wrap}
.evr-row>.evr-field{flex:1 1 220px}
.evr-field--narrow{flex:0 1 140px!important}
.evr-field{margin-bottom:1rem}
.evr-field>label,.evr-label{display:block;font-weight:600;margin-bottom:.25rem}
.evr-field abbr{color:var(--evr-bad);text-decoration:none}
.evr-field input[type=text],.evr-field input[type=email],.evr-field input[type=tel],.evr-field input[type=search],.evr-field select,.evr-field textarea,.evr-other,.evr-lookup input,.evr-filters input,.evr-filters select,.evr-terminal select{width:100%;padding:.6rem .7rem;border:1px solid #a1a1aa;border-radius:6px;font:inherit;background:#fff}
.evr-field input:focus,.evr-field select:focus,.evr-field textarea:focus,.evr-lookup input:focus{outline:2px solid var(--evr-accent);outline-offset:1px}
.evr-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.4rem .9rem}
.evr-option{display:flex;gap:.5rem;align-items:flex-start;font-weight:400;cursor:pointer}
.evr-option input{margin-top:.3em}
.evr-other{grid-column:1/-1;margin-top:.25rem}
.evr-field.has-error input[type=text],.evr-field.has-error input[type=email],.evr-field.has-error input[type=tel]{border-color:var(--evr-bad)}
.evr-error{color:var(--evr-bad);font-size:.875em;margin-top:.25rem}
.evr-terms{background:var(--evr-bg);border-radius:8px;padding:1rem;margin-bottom:1.25rem}
.evr-terms__text{max-height:11rem;overflow:auto;margin-bottom:.75rem;font-size:.9em}

.evr-btn{display:inline-block;padding:.6rem 1.1rem;border:1px solid #a1a1aa;border-radius:6px;background:#fff;color:#18181b;font:inherit;font-weight:600;cursor:pointer;text-decoration:none;line-height:1.3}
.evr-btn:hover{background:var(--evr-bg)}
.evr-btn:disabled{opacity:.6;cursor:wait}
.evr-btn--primary{background:var(--evr-accent);border-color:var(--evr-accent);color:#fff}
.evr-btn--primary:hover{background:#1e40af;color:#fff}
.evr-btn--big{font-size:1.25rem;padding:.9rem 1.6rem}
.evr-btn--danger{color:var(--evr-bad);border-color:var(--evr-bad)}
.evr-btn--link{border:0;background:none;color:var(--evr-accent);text-decoration:underline;padding-left:0}

.evr-alert,.evr-notice{border-radius:6px;padding:.7rem 1rem;margin:0 0 1rem;border:1px solid}
.evr-alert[hidden],.evr-prompt[hidden]{display:none}
.evr-alert--error,.evr-notice--error{background:#fef2f2;border-color:#fca5a5;color:#7f1d1d}
.evr-alert--ok,.evr-notice--ok{background:#f0fdf4;border-color:#86efac;color:#14532d}
.evr-alert--info{background:#eff6ff;border-color:#93c5fd;color:#1e3a8a}
.evr-notice--warn{background:#fffbeb;border-color:#fcd34d;color:#78350f}
.evr-notice p{margin:0}
.evr-prompt{border:2px solid var(--evr-warn);border-radius:8px;padding:1rem;margin-bottom:1rem;background:#fffbeb}
.evr-match{border:1px solid var(--evr-line);background:#fff;border-radius:6px;padding:.6rem .8rem;margin:.5rem 0;display:flex;flex-direction:column;gap:.35rem;align-items:flex-start}

.evr-details{border:1px solid var(--evr-line);border-radius:8px;padding:.75rem 1rem;margin:1rem 0}
.evr-details>summary{cursor:pointer;font-weight:700}
.evr-access-form .evr-row{align-items:flex-start}

.evr-confirmation{border:2px solid var(--evr-ok);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1.25rem;background:#f0fdf4}
.evr-confirmation__title{font-size:1.3rem;font-weight:700;color:var(--evr-ok);margin:0 0 .75rem}
.evr-confirmation__body{display:flex;gap:1.25rem;align-items:center;flex-wrap:wrap}
.evr-confirmation__label{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:#52525b}
.evr-account-id{font:700 2.4rem/1.1 ui-monospace,Menlo,Consolas,monospace;letter-spacing:.2em;margin:0 0 .5rem}
.evr-qr{width:190px;height:190px;background:#fff;padding:6px;border:1px solid var(--evr-line)}
.evr-qr svg{width:100%;height:100%;display:block}

/* Dropdowns. A wrapper draws the arrow ON TOP of the select, so theme rules that strip or repaint
   the select (appearance, background, color) cannot hide it. */
.evr-select{position:relative;display:block;width:100%}
.evr-select[hidden]{display:none!important}
.evr-select::after{content:"";position:absolute;right:1rem;top:50%;width:.55rem;height:.55rem;margin-top:-.45rem;border-right:2px solid #18181b;border-bottom:2px solid #18181b;transform:rotate(45deg);pointer-events:none;z-index:2}
.evr-terminal .evr-select{display:inline-block;width:auto;min-width:200px}
.evr-select select{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;min-height:2.9rem!important;height:auto!important;margin:0!important;box-sizing:border-box!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;padding:.6rem 2.4rem .6rem .7rem!important;color:#18181b!important;-webkit-text-fill-color:#18181b!important;background:#fff!important;border:1px solid #a1a1aa!important;border-radius:6px!important;font:inherit!important;line-height:1.4!important;text-indent:0!important;cursor:pointer}
.evr-select select:disabled{opacity:.6!important}
.evr-select select option{color:#18181b;background:#fff}
.evr-filters .evr-select{width:auto;min-width:160px}

/* 3-step form */
.evr-steps{list-style:none;display:flex;gap:.5rem;margin:0 0 1.25rem;padding:0}
.evr-steps[hidden],.evr-nav [hidden],.evr-fieldset[hidden],.evr-terms[hidden]{display:none}
.evr-steps li{flex:1;display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border-bottom:4px solid var(--evr-line);color:var(--primary-blue);font-weight:600;font-size:1.5rem;line-height:1.1;}
.evr-steps li span{display:inline-flex;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--evr-line);color:#3f3f46;align-items:center;justify-content:center;flex-shrink:0}
.evr-steps li.is-active{color:var(--evr-accent);border-bottom-color:var(--evr-accent)}
.evr-steps li.is-active span{background:var(--evr-accent);color:#fff}
.evr-steps li.is-done{color:var(--evr-ok);border-bottom-color:var(--evr-ok)}
.evr-steps li.is-done span{background:var(--evr-ok);color:#fff}
.evr-nav{display:flex;gap:.5rem;justify-content:space-between;flex-wrap:wrap}
.evr-nav .evr-btn{min-width:130px}
@media (max-width:600px){.evr-steps li{font-size:0}.evr-steps li span{font-size:.9rem}}

/* Portals */
.evr-portal__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:#18181b;color:#fff;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}
.evr-portal__bar .evr-muted{color:#a1a1aa;margin-left:.5rem}
.evr-terminal{display:flex;align-items:center;gap:.5rem;font-weight:600}
.evr-terminal select{min-width:200px;color:#18181b}
.evr-tabs{display:flex;gap:.25rem;border-bottom:2px solid var(--evr-line);margin-bottom:1rem}
.evr-tab{padding:.6rem 1rem;border:0;background:none;font:inherit;font-weight:600;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px}
.evr-tab.is-active{border-bottom-color:var(--evr-accent);color:var(--evr-accent)}
.evr-lookup{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.evr-lookup input{flex:1 1 280px;font-size:1.15rem}
.evr-camera{margin-bottom:1rem}
.evr-camera[hidden],.evr-panel[hidden],.evr-scan-result[hidden]{display:none}
.evr-camera video{width:100%;max-width:420px;border-radius:8px;background:#000;display:block;margin-bottom:.5rem}
.evr-results{list-style:none;margin:0 0 1rem;padding:0}
.evr-results li{margin:0 0 .4rem}
.evr-results .evr-btn{width:100%;text-align:left}
.evr-results small{font-weight:400;color:var(--primary-blue);}
.evr-card{border:1px solid var(--evr-line);border-radius:10px;padding:1rem 1.25rem;margin-bottom:1rem;background:#fff}
.evr-card__head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:.75rem}
.evr-card__head h3{margin:0}
.evr-card__head p{margin:0}
.evr-card__id{font:700 1.6rem ui-monospace,Menlo,Consolas,monospace;letter-spacing:.15em;background:var(--evr-bg);padding:.25rem .6rem;border-radius:6px}
.evr-profile{display:grid;grid-template-columns:max-content 1fr;gap:.2rem 1rem;margin:0 0 1rem}
.evr-profile dt{font-weight:600;color:#52525b}
.evr-profile dd{margin:0}

.evr-scan-result{border-radius:12px;padding:1.5rem;text-align:center;color:#fff;margin:1rem 0}
.evr-scan-result__title{font-size:2.4rem;font-weight:800;letter-spacing:.05em}
.evr-scan-result__name{font-size:1.8rem;font-weight:700;margin-top:.25rem}
.evr-scan-result__meta{font-size:1.1rem;opacity:.9}
.evr-scan-result__message{font-size:1.1rem;margin-top:.5rem}
.evr-scan-result--ok{background:var(--evr-ok)}
.evr-scan-result--duplicate{background:var(--evr-warn)}
.evr-scan-result--unregistered,.evr-scan-result--unknown{background:var(--evr-bad)}

.evr-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}
.evr-filters input{flex:1 1 220px;width:auto}
.evr-filters select{width:auto}
.evr-entries{list-style:none;margin:0;padding:0}
.evr-entry{display:flex;justify-content:space-between;gap:1rem;border:1px solid var(--evr-line);border-left-width:6px;border-radius:8px;padding:.7rem 1rem;margin-bottom:.5rem;background:#fff}
.evr-entry--hot{border-left-color:#dc2626}
.evr-entry--warm{border-left-color:#f59e0b}
.evr-entry--cold{border-left-color:#3b82f6}
.evr-entry__notes{margin-top:.35rem;background:var(--evr-bg);padding:.4rem .6rem;border-radius:4px;font-size:.92em}
.evr-entry__actions{display:flex;gap:.4rem;align-items:flex-start;flex-shrink:0}
.evr-badge{display:inline-block;padding:.05rem .5rem;border-radius:999px;color:#fff;font-size:.78rem;font-weight:700;text-transform:uppercase;margin-right:.4rem}
.evr-badge.evr-lead--hot{background:#dc2626}.evr-badge.evr-lead--warm{background:#f59e0b}.evr-badge.evr-lead--cold{background:#3b82f6}
.evr-options--lead{display:flex;gap:.5rem}
.evr-lead{border:2px solid var(--evr-line);border-radius:8px;padding:.5rem 1rem;align-items:center}
.evr-lead--hot:has(input:checked){border-color:#dc2626;background:#fef2f2}
.evr-lead--warm:has(input:checked){border-color:#f59e0b;background:#fffbeb}
.evr-lead--cold:has(input:checked){border-color:#3b82f6;background:#eff6ff}

@media (max-width:600px){.evr-entry,.evr-card__head{flex-direction:column}.evr-account-id{font-size:1.9rem}}
@media print{body *{visibility:hidden}.evr-confirmation,.evr-confirmation *{visibility:visible}.evr-confirmation{position:absolute;left:0;top:0;width:100%}.evr-confirmation .evr-btn{display:none}}