/* design.css */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root {
  --app-font: 'Inter', sans-serif;
  --acc1: #6d28d9; --acc2: #5b21b6; --sb-bg: #241239;
  --bg: #f5f5f7; --panel: #fff; --panel2: #f1eff0;
  --ink: #242024; --text: #242024; --dim: #625960;
  --line: #ddd6d9; --line-soft: #ece7e9;
  --card-shadow: 0 8px 32px -16px #30121c24;
}
html[data-theme='dark'] { --bg:#181416; --panel:#241d20; --panel2:#30272b; --ink:#faf7f8; --text:#faf7f8; --dim:#c7b9bf; --line:#59464e; --line-soft:#403239; }
body { font-family:var(--app-font)!important; letter-spacing:-.015em; }
button,input,select,textarea { font-family:var(--app-font)!important; }
h1,h2,h3 { letter-spacing:-.04em!important; }
.label { font-family:var(--app-font)!important; letter-spacing:.09em!important; }
.stage-bg { background:radial-gradient(ellipse at 100% 0,#6d28d90a,transparent 50%),var(--bg)!important; }
.bg-panel { box-shadow:var(--card-shadow); border-color:var(--line)!important; }
.grad { background:linear-gradient(110deg,var(--acc1),var(--acc2))!important; }
.grad-text { background-image:linear-gradient(100deg,#6d28d9,#6d28d9)!important; }
.sb-item.active { background:var(--acc1)!important; box-shadow:inset 3px 0 #fff!important; }
.sb-item.active .sb-label { text-decoration:none; font-weight:700; }
.sb-item,.sb-group-btn { border-radius:10px; }
input:not([type='checkbox']):not([type='radio']):not([type='range']),select,textarea { border-color:var(--line); transition:border-color .2s,box-shadow .2s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:#6d28d9!important; box-shadow:0 0 0 3px #6d28d918; }
button,a { -webkit-tap-highlight-color:transparent; }
a[href="https://escom-events.com/"],a[href="https://escom-events.com/"]:visited { color:inherit!important; text-decoration:none!important; }
a[href="https://escom-events.com/"]:hover,a[href="https://escom-events.com/"]:active { text-decoration:underline!important; text-underline-offset:3px; }
.login-story a[href="https://escom-events.com/"],.login-story a[href="https://escom-events.com/"]:visited { display:inline-block; color:#fff!important; text-decoration:none!important; border-radius:4px; transition:background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.login-story a[href="https://escom-events.com/"]:hover { color:#fff!important; background-color:#6d28d940; box-shadow:0 0 0 3px #6d28d940; }
.login-story a[href="https://escom-events.com/"]:active { color:#fff!important; background-color:#6d28d970; transform:scale(.97); }
@media(prefers-reduced-motion:reduce) { a[href="https://escom-events.com/"] { transition:none; } a[href="https://escom-events.com/"]:active { transform:none; } }
button:focus-visible,a:focus-visible { outline:3px solid #ce6e84; outline-offset:3px; }
thead { background:var(--panel2); }
tbody tr { transition:background .15s; }
tbody tr:hover { background:#6d28d906; }
.auth-link { color:#6d28d9; font-size:12px; font-weight:600; background:none; border:0; cursor:pointer; padding:10px 0; }
.auth-feedback { color:#be2137; font-size:13px; line-height:1.6; margin:12px 0; }
.auth-feedback[data-success='true'] { color:#147151; }
.recovery-card { width:min(460px,100%); padding:36px; border-radius:24px; background:var(--panel); border:1px solid var(--line); box-shadow:var(--card-shadow); }
.recovery-card h1 { font-size:28px; font-weight:700; margin:20px 0 10px; }
.recovery-card p { color:var(--dim); font-size:14px; line-height:1.7; }
.recovery-card label { display:block; font-size:13px; margin:20px 0 8px; }
.recovery-card input { width:100%; padding:14px; border:1px solid var(--line); border-radius:10px; background:var(--panel2); color:var(--ink); box-sizing:border-box; }
.recovery-card button { border:0; border-radius:10px; width:100%; padding:15px; margin-top:22px; background:#6d28d9; color:white; font:600 14px Inter,sans-serif; cursor:pointer; }
.password-field { position:relative; }
.recovery-card .password-field input { padding-right:48px; }
.recovery-card .password-toggle { position:absolute; right:12px; top:50%; transform:translateY(-50%); width:auto; margin:0; padding:4px; background:none; color:var(--dim); display:grid; place-items:center; }
.recovery-card .password-toggle:hover { color:var(--ink); }
button:disabled { opacity:.6; cursor:wait; }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* sponsors.css */
.sponsors-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.sponsors-heading h1 { font-size:clamp(28px,4vw,36px); font-weight:700; }
.sponsors-button { min-height:44px; padding:12px 18px; border:0; border-radius:12px; background:var(--acc1); color:white; font-weight:600; cursor:pointer; }
.sponsors-panel { padding:24px; border:1px solid var(--line); border-radius:24px; background:var(--panel); }
.sponsors-panel input { width:100%; padding:12px 16px; border:1px solid var(--line); border-radius:12px; background:var(--panel2); margin-bottom:16px; }
.sponsors-table-scroll { overflow-x:auto; }
.sponsors-table { width:100%; min-width:560px; border-collapse:collapse; text-align:left; }
.sponsors-table th,.sponsors-table td { padding:14px 16px; border-bottom:1px solid var(--line); }
.sponsors-table th { font-size:12px; color:var(--dim); }
.sponsors-table tr[data-sponsor] { cursor:pointer; }
.sponsors-table tr:focus-visible { outline:3px solid var(--acc1); outline-offset:-3px; }
.sponsors-table img,.sponsor-logo-placeholder { width:48px; height:48px; object-fit:contain; border-radius:10px; }
.sponsor-logo-placeholder { display:grid; place-items:center; background:var(--panel2); }
.sponsor-company { text-decoration:underline; text-underline-offset:3px; font-weight:600; text-align:left; }
.sponsor-empty { text-align:center; color:var(--dim); }
.sponsor-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 24px); overflow:auto; border:1px solid var(--line); border-radius:24px; padding:28px; background:var(--panel); color:var(--ink); }
.sponsor-dialog::backdrop { background:#190810a6; backdrop-filter:blur(3px); }
.sponsor-dialog header { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; }
.sponsor-dialog h2 { font-size:26px; font-weight:700; }
.sponsor-dialog label { display:block; font-size:13px; font-weight:600; margin:16px 0 8px; }
.sponsor-dialog input,.sponsor-dialog select { width:100%; min-height:44px; padding:12px; border:1px solid var(--line); border-radius:10px; background:var(--panel2); color:var(--ink); font-size:16px; }
.sponsor-dialog input[readonly] { color:var(--dim); }
.sponsor-dialog button { min-height:44px; }
#sponsorLogoPreview { width:80px; height:80px; object-fit:contain; margin-top:12px; }
#view-booths > [hidden],#sponsorDialog [hidden]{display:none!important}
#sponsorQrSection { margin-top:24px; border-top:1px solid var(--line); padding-top:20px; }
#sponsorQr canvas { width:min(100%,240px); height:auto; margin:12px auto; display:block; }
.sponsor-actions { display:flex; gap:12px; flex-wrap:wrap; }
#sponsorMessage,#sponsorListMessage { margin:12px 0; font-size:13px; }
#sponsorMessage[data-error='true'] { color:#b91c35; }
.sponsor-dialog [hidden] { display:none!important; }
@media(max-width:639px) { .sponsors-panel,.sponsor-dialog { padding:20px; } }

/* workflow.css */
body.is-staff [data-nav='connections'] { display:none!important; }
#view-eventinfo > [hidden],#invitePanel[hidden] { display:none!important; }
.sb-nav a.sb-item { text-decoration:none; }
#view-users p { overflow-wrap:anywhere; }
#eventSaveStatus { margin:12px 0; }
html[data-accent='blue'] { --acc1:#1d4ed8; --acc2:#1e40af; --sb-bg:#102347; }
html[data-accent='red'] { --acc1:#781b30; --acc2:#98283e; --sb-bg:#300e17; }
html[data-accent='yellow'] { --acc1:#854d0e; --acc2:#713f12; --sb-bg:#271d0d; }
html[data-accent='purple'] { --acc1:#6d28d9; --acc2:#5b21b6; --sb-bg:#241239; }
html[data-accent='pink'] { --acc1:#be185d; --acc2:#9d174d; --sb-bg:#30101f; }
html[data-accent='green'] { --acc1:#047857; --acc2:#065f46; --sb-bg:#0a261c; }
html[data-accent='orange'] { --acc1:#c2410c; --acc2:#9a3412; --sb-bg:#301b0e; }
html[data-accent='mono'] { --acc1:#18181b; --acc2:#3f3f46; --sb-bg:#18181b; }
html[data-accent='brown'] { --acc1:#78350f; --acc2:#92400e; --sb-bg:#29180c; }
html[data-accent='gray'] { --acc1:#4b5563; --acc2:#374151; --sb-bg:#1f242c; }
html[data-accent='black'] { --acc1:#18181b; --acc2:#3f3f46; --sb-bg:#18181b; }
html[data-accent='white'] { --acc1:#ffffff; --acc2:#f1f5f9; --sb-bg:#241239; }
html[data-accent='white'] :is(.grad,.sponsors-button,#view-display .grad){color:#242024!important;border:1px solid #cbd5e1}
html[data-accent='white'] .sb-item.active{background:#6d28d9!important}
html[data-accent='white'] #view-display button:focus-visible{outline-color:#64748b}

/* responsive.css */
/* Shared layout safeguards. Wide data tables scroll inside their own panels. */
*,*::before,*::after { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { min-width:0; }
main,.view,.login-shell,.login-form-panel,.login-story,.recovery-card { min-width:0; }
img,video,canvas { max-width:100%; }
input,select,textarea { max-width:100%; min-width:0; }
.view > *, .view .grid > *, .login-shell > * { min-width:0; }
.view :is(h1,h2,h3,p),.login-story p { overflow-wrap:anywhere; }
#appShell { min-height:100dvh; }
#sidebar { max-width:calc(100vw - 24px); padding-bottom:env(safe-area-inset-bottom); }
div.fixed.inset-0:not(#sbOverlay),div[id$='Modal'].fixed { overflow-y:auto; overscroll-behavior:contain; }
div[id$='Modal'] > div { max-height:calc(100dvh - 32px); overflow-y:auto; }
.view div:has(> table),.view div:has(> #dataList),.view div:has(> #regList),.view div:has(> #attendeeConfirmedList),.view div:has(> #attendedList),.view div:has(> #meetList),.view div:has(> #usersList) { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
@media(max-width:1023px) {
  .login-shell { grid-template-columns:1fr!important; width:100%; max-width:560px!important; min-height:0!important; }
  .login-story { padding:clamp(24px,5vw,40px)!important; }
  .login-form-panel { padding:clamp(24px,5vw,40px)!important; }
  .login-story h1 { font-size:clamp(28px,5vw,38px)!important; }
}
@media(max-width:639px) {
  input:not([type='checkbox']):not([type='radio']),select,textarea { font-size:16px!important; }
  button:not(.sb-item):not(.tabbtn),input:not([type='checkbox']):not([type='radio']),select { min-height:44px; }
  #appShell > main { padding-left:16px!important; padding-right:16px!important; }
  #view-home .grid .label { white-space:normal; }
  #view-home .grid-cols-3 > div { padding-left:6px; padding-right:6px; }
  #view-home .grid-cols-3 .label { letter-spacing:0!important; }
  .view .flex:has(> input),.view .flex:has(> select) { flex-wrap:wrap; }
  .recovery-card { padding:24px; }
  .login-shell { border-radius:20px!important; }
}
@media(max-width:359px) { #view-home .grid-cols-3 { grid-template-columns:1fr; } }
@media(min-width:1920px) { #appShell > main { max-width:100rem; } }

#userMenu { min-width:230px; padding:8px; max-height:calc(100dvh - 110px); overflow-y:auto; z-index:60; }
body.sb-collapsed #userMenu .sb-label, body.sb-collapsed #userMenu .sb-grouptop { display:block; }
body.sb-collapsed #userMenu .sb-item { justify-content:flex-start; padding:11px 12px; }
#userMenu .sb-item { width:100%; }
#userMenu { background:var(--sb-bg)!important; }
#userMenu [data-toggle='settings'] { display:flex; align-items:center; justify-content:flex-start; gap:10px; padding:11px 12px; font-size:13px; }
#userMenu [data-toggle='settings'] .sb-caret { margin-left:auto; }
#userMenu .sb-sub .sb-item { padding-left:30px; gap:8px; font-size:12px; }
#userMenu .sb-sub .sb-ico { width:14px; height:14px; font-size:12px; }
.sb-nav .sb-sub .sb-ico { width:14px; height:14px; font-size:12px; }
.sb-nav .sb-sub .sb-item { padding-left:30px; gap:8px; font-size:12px; }
.account-avatar { display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; overflow:hidden; background:var(--acc1); color:white; font-weight:700; flex-shrink:0; }
.account-avatar img { width:100%; height:100%; object-fit:cover; }
.account-avatar-large { display:grid; width:88px; height:88px; margin:0 auto 20px; font-size:32px; }
.account-history { display:grid; gap:6px; margin:20px 0; overflow-wrap:anywhere; }
.account-history dt { font-size:12px; color:var(--dim); }
.account-history dd { margin:0 0 10px; }
.account-tools { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:20px; }
.account-tools label { display:grid; gap:6px; font-size:13px; flex:1 1 160px; }
.account-tools label:first-child { flex:3 1 240px; }
.account-tools input,.account-tools select,#profileRole { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--line); border-radius:10px; background:var(--panel); color:var(--ink); }
.account-tools [hidden],#view-users [hidden] { display:none!important; }
.account-save { display:flex; justify-content:flex-end; margin-top:20px; }
.account-status { display:inline-block; padding:4px 8px; border:1px solid var(--line); border-radius:999px; font-size:12px; white-space:nowrap; }
#accountDialog header > div { display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-width:0; }
#accountHeading { overflow-wrap:anywhere; }
.account-actions { min-width:44px; }
.account-actions summary { list-style:none; cursor:pointer; font-size:24px; min-height:44px; text-align:center; }
.account-actions summary::-webkit-details-marker { display:none; }
.account-actions > div { display:grid; gap:8px; min-width:110px; padding:8px; border:1px solid var(--line); border-radius:10px; background:var(--panel); }
.account-actions button { min-height:36px; font-weight:600; }
.account-actions button:disabled { opacity:.45; cursor:not-allowed; }
#accountRows tr { cursor:pointer; }
#accountRows tr:hover,#accountRows tr:focus-visible { background:var(--panel2); }
#accountRows tr:focus-visible { outline:2px solid var(--acc1); outline-offset:-2px; }
#logoutModal{margin:auto;padding:0;width:calc(100% - 32px);max-width:420px;max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:24px;background:var(--panel);color:var(--ink);box-shadow:0 24px 80px #20081033}
#logoutModal::backdrop{background:rgba(28,15,20,.48);backdrop-filter:blur(5px)}
.logout-card{padding:32px;text-align:left}
.logout-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:18px;background:#6d28d910;color:#6d28d9;margin-bottom:22px}
#logoutTitle{font-size:23px;font-weight:750;line-height:1.3;letter-spacing:-.5px;margin:0 0 10px}
#logoutDescription{font-size:14px;line-height:1.65;color:var(--dim);margin:0}
.logout-actions{display:flex;gap:12px;margin-top:28px}
.logout-actions button{flex:1;min-height:46px;padding:10px 12px;border-radius:12px;font:inherit;font-size:14px;font-weight:650;cursor:pointer;transition:background .15s}
#logoutCancel{background:var(--panel);border:1px solid var(--line);color:var(--ink)}
#logoutCancel:hover{background:var(--panel2)}
#logoutYes{background:#6d28d9;border:1px solid #6d28d9;color:#fff}
#logoutYes:hover{background:#75192d}
.logout-actions button:focus-visible{outline:3px solid #a78bfa;outline-offset:3px}
#logoutYes:disabled{opacity:.65;cursor:wait}
@media(max-width:380px){.logout-card{padding:24px}.logout-actions{flex-direction:column}}
.settings-list{max-width:820px;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.settings-row{display:flex;align-items:center;gap:18px;width:100%;padding:24px;text-align:left;color:var(--ink);background:transparent;border:0;cursor:pointer;transition:background .15s}
.settings-row+.settings-row{border-top:1px solid var(--line)}
.settings-row:hover{background:var(--panel2)}
.settings-row:focus-visible{outline:3px solid #6d28d9;outline-offset:-3px}
.settings-row>.sb-ico{flex-shrink:0;color:#6d28d9}
.settings-row-copy{flex:1;min-width:0}
.settings-row-copy strong{display:block;font-size:16px;font-weight:650}
.settings-row-copy small{display:block;color:var(--dim);font-size:13px;line-height:1.5;margin-top:5px}
.settings-chevron{font-size:28px;color:var(--dim)}
@media(max-width:480px){.settings-row{padding:20px 16px;gap:14px}}
.settings-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:20px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.settings-back:hover{background:var(--panel2);color:#6d28d9}
.settings-back:focus-visible{outline:3px solid #6d28d9;outline-offset:3px}
.sidebar-image{width:24px;height:24px;object-fit:contain;flex-shrink:0}
#sidebar .sidebar-image{filter:brightness(0) invert(1)}
#sidebar svg.sb-ico{color:#fff}
.settings-row-copy{font-weight:600}
a.settings-row{text-decoration:none}
.app-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.app-links-grid>h2{grid-column:1/-1}
@media(min-width:1200px){.app-links-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:540px){.app-links-grid{grid-template-columns:minmax(0,1fr)}}
#view-display button:focus-visible{outline:3px solid var(--acc1);outline-offset:4px}
#view-display #themeSeg,#view-display #lineSeg,#view-display #boldSeg{display:flex;flex-wrap:wrap}
#view-display .grad{background:var(--acc1)!important;color:white}
#accentSeg button{border:1px solid #94a3b8}
.required-mark{color:#dc2626}
.event-details-form{max-width:860px;display:grid;gap:18px}
.event-details-form label{display:block;margin-bottom:8px;font-weight:600}
.event-details-form input,.event-details-form textarea,.event-details-form select{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
.event-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.event-link-row{display:grid;grid-template-columns:1fr 2fr auto;gap:12px;align-items:end;margin-bottom:12px}
.event-link-row button{padding:12px;border:1px solid var(--line);border-radius:10px}
.event-details-form [hidden],#eventDay2Field[hidden]{display:none!important}
@media(max-width:600px){.event-fields,.event-link-row{grid-template-columns:1fr}}
#logoutBtn2,#logoutBtn2:hover,#logoutBtn2:focus-visible{color:#fff!important}
.password-requirements{list-style:none;padding:0;margin:18px 0;display:grid;gap:8px}
.password-requirements li{display:flex;gap:10px;align-items:center;color:#727078;font-size:13px;line-height:1.5}
.requirement-check{display:inline-grid;place-items:center;width:18px;height:18px;border:1px solid currentColor;border-radius:50%;font-size:11px;color:transparent;border-color:#a6a1a5;flex-shrink:0}
.password-requirements li.met{color:#15803d}
.password-requirements li.met .requirement-check{color:#15803d;border-color:#15803d;background:#15803d12}
.recovery-card .recovery-back{display:block;text-align:center;margin-top:16px}
.recovery-card form>button{display:block;margin-left:auto;margin-right:auto;text-align:center}
.recovery-card p[role='status']:empty{display:none}
.password-requirements[hidden]{display:none}
/* Registrations: list, detail page, dialogs and email templates */
#view-reglist [hidden],#view-regtemplates [hidden],.reg-dialog [hidden]{display:none!important}
.maintenance-pill{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:11px;font-weight:700;vertical-align:middle;white-space:nowrap}
.reg-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:20px}
.reg-stat{display:grid;gap:4px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);cursor:pointer;transition:border-color .15s,background .15s}
.reg-stat strong{font-size:28px;font-weight:700;line-height:1}
.reg-stat span{font-size:13px;color:var(--dim)}
.reg-stat:hover{border-color:var(--acc1)}
.reg-stat[aria-pressed="true"]{border-color:var(--acc1);background:var(--acc1);color:#fff}
.reg-stat[aria-pressed="true"] span{color:#ffffffd9}
.reg-stat-alert strong{color:#dc2626}
.reg-stat-alert[aria-pressed="true"]{background:#dc2626;border-color:#dc2626}
.reg-stat-alert[aria-pressed="true"] strong{color:#fff}
.reg-stat:focus-visible{outline:3px solid var(--acc1);outline-offset:2px}
.reg-actions-menu{position:relative}
.reg-actions-menu summary{list-style:none;display:inline-flex;align-items:center;gap:8px}
.reg-actions-menu summary::-webkit-details-marker{display:none}
.reg-actions-menu>div{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--card-shadow)}
.reg-actions-menu>div button{min-height:40px;padding:8px 12px;border:0;border-radius:8px;background:none;color:var(--ink);text-align:left;font-weight:600;cursor:pointer}
.reg-actions-menu>div button:hover,.reg-actions-menu>div button:focus-visible{background:var(--panel2)}
.reg-danger-text{color:#dc2626!important}
.reg-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;border:1px solid var(--acc1);border-radius:14px;background:var(--panel)}
.reg-bulk span{font-weight:700;margin-right:auto}
.reg-bulk button{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:600;cursor:pointer}
.reg-bulk button:hover{background:var(--panel2)}
.reg-bulk button:disabled{opacity:.5;cursor:wait}
.reg-table{min-width:900px}
.reg-table tbody tr[data-sid]{cursor:pointer}
.reg-table tbody tr[data-sid]:hover{background:var(--panel2)}
.reg-table th button{display:inline-flex;align-items:center;gap:4px;background:none;border:0;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}
.reg-check{width:44px}
.reg-check input{width:18px;height:18px;margin:0;cursor:pointer}
.reg-badge{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.reg-name{font-weight:600;margin-right:6px}
.reg-tag{display:inline-block;margin:2px 4px 2px 0;padding:2px 8px;border:1px solid var(--acc1);border-radius:999px;color:var(--acc1);font-size:11px;font-weight:700;white-space:nowrap}
.reg-tag-alert{border-color:#dc2626;color:#dc2626}
.reg-type{display:inline-block;padding:3px 10px;border-radius:999px;background:var(--type);color:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.reg-type[data-participation="VIP Delegate"],.reg-type[data-participation="Vendor Pass"]{background:var(--acc1);color:#fff}
.reg-type[data-participation="Speaker"]{background:#7c3aed;color:#fff}
.reg-type[data-participation="Sponsor"]{background:#e5b93f;color:#382800}
.reg-pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.reg-pill-confirmed{background:#0b8a5b;color:#fff}
.reg-pill-pending{border:1px solid #b4690e;color:#b4690e}
.reg-pill-available{border:1px solid var(--line);color:var(--dim)}
.reg-empty{text-align:center;color:var(--dim);padding:40px 16px!important}
.reg-detail-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}
.reg-detail-title{min-width:0}
.reg-detail-title h1{font-size:clamp(24px,4vw,34px);font-weight:700;overflow-wrap:anywhere}
.reg-detail-title p{margin-top:6px;color:var(--dim);font-size:15px}
.reg-detail-actions{display:flex;flex-wrap:wrap;gap:10px}
.reg-detail-actions .settings-back{margin:0;min-height:44px}
.reg-warning{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:#dc262614;color:#dc2626;font-size:14px}
.reg-success{padding:10px 14px;border-radius:10px;background:#0b8a5b1a;color:#0b8a5b;font-size:14px}
.reg-dialog p{color:var(--dim);font-size:14px;line-height:1.6}
.reg-dialog-kicker{font-size:12px!important;margin:0}
.reg-dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px}
.reg-dialog-actions .settings-back{margin:0}
#confirmModal > .confirm-card{box-sizing:border-box;width:min(100%,440px);max-width:440px;margin:auto}
#regEmailDialog select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink)}
#regNewDialog { position:relative; }
#regNewDialog .reg-detail-head { padding-right:44px; }
#regNewClose { position:absolute; top:16px; right:16px; font-size:26px; line-height:1; padding:4px 12px; }
#regNewDialog #regDetailSave { justify-self:end; margin-top:8px; }
#regDetailMessage:empty { display:none; }
#regExtraSubmit { margin-top:20px; }
.reg-template-row { border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.reg-template-row summary { cursor:pointer; padding:20px; font-weight:600; }
.reg-template-row[open] summary { border-bottom:1px solid var(--line); }
.reg-template-row .reg-template { border:0; border-radius:0; }
.reg-sent-emails { margin-top:28px; }
.reg-sent-emails h2 { font-size:22px; font-weight:700; }
.reg-sent-emails > p { color:var(--dim); margin:12px 0; }
.dashboard-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:24px; }
.dashboard-tabs button { padding:12px 22px; border:1px solid var(--line); border-radius:12px; font-weight:600; background:var(--panel); }
.dashboard-tabs button[aria-pressed="true"] { color:white; background:var(--acc1); }
.dashboard-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin-bottom:24px; }
.dashboard-card,.dashboard-chart { padding:24px; background:var(--panel); border:1px solid var(--line); border-radius:20px; }
.dashboard-card span { color:var(--dim); font-size:14px; }
.dashboard-card strong { display:block; font-size:36px; margin-top:12px; }
.dashboard-charts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dashboard-chart h2,#overviewBody h2 { font-size:20px; font-weight:700; }
.dashboard-chart p,#overviewBody section > p { color:var(--dim); margin:8px 0 20px; }
.dashboard-pie { position:relative; max-width:220px; margin:20px auto; }
.dashboard-pie svg { width:100%; overflow:visible; }
.dashboard-pie circle[data-tip]:hover,.dashboard-pie circle[data-tip]:focus { filter:brightness(1.15); outline:none; }
.dashboard-tooltip:not(:empty) { position:absolute; bottom:0; left:0; right:0; padding:8px; background:#241820; color:white; border-radius:8px; font-size:12px; pointer-events:none; }
.dashboard-chart li { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:14px; }
.dashboard-chart li > span { width:10px; height:10px; border-radius:3px; }
.dashboard-chart li strong { margin-left:auto; }
#overviewLeads h3 { margin:24px 0 12px; font-weight:700; }
.sponsor-password { position:relative; }
.sponsor-password input { padding-right:52px; }
.sponsor-password button { position:absolute; right:4px; top:2px; padding:10px; background:transparent; border:0; }
.standard-grid-table { overflow-x:auto!important; }
.standard-grid-header,.standard-grid-row { display:grid!important; min-width:950px; gap:16px!important; padding:14px 16px!important; }
.standard-grid-header { background:var(--panel2); color:var(--dim); font-size:12px!important; text-transform:none!important; letter-spacing:normal!important; font-weight:600; }
.standard-grid-header button { font:inherit; text-align:left; }
.standard-grid-row { border-bottom:1px solid var(--line); font-size:14px; }
.standard-grid-row > .hidden { display:block!important; }
.standard-grid-row [class~="lg:hidden"] { display:none!important; }
.standard-grid-row [class*="col-span"] { grid-column:auto!important; }
#view-home [hidden] { display:none!important; }
@media(max-width:1000px){.dashboard-charts{grid-template-columns:1fr}.dashboard-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.reg-hint{font-size:13px!important;color:var(--dim)}
.reg-import-columns{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0;padding:0;list-style:none}
.reg-import-columns li{padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);font-size:12px;font-weight:600}
.reg-inline{display:flex;gap:8px}
.reg-inline .settings-back{margin:0;min-height:44px}
.reg-import-preview{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:20px;padding:20px;border:1px solid var(--line);border-radius:14px}
.reg-import-preview .reg-import-count{margin:0;font-weight:600;font-size:16px;color:var(--ink)}
.reg-import-preview .sponsors-button{min-width:120px;margin:0}
.reg-sample-download{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:12px 18px;margin:8px 0 18px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--acc1,#6d28d9);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}
.reg-sample-download:hover{background:var(--panel2);border-color:var(--acc1,#6d28d9)}
.reg-sample-download:focus-visible{outline:3px solid var(--acc1,#6d28d9);outline-offset:3px}
.reg-sample-download svg{flex-shrink:0}
.reg-export-list{display:grid;gap:8px}
.reg-export-list button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);text-align:left;font-weight:600;cursor:pointer}
.reg-export-list button:hover{background:var(--panel2);border-color:var(--acc1)}
.reg-intro{color:var(--dim);max-width:760px;margin-bottom:8px}
.reg-placeholders code{font-size:12px}
.reg-templates{display:grid;gap:20px;max-width:900px}
.reg-template{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.reg-template h2{font-size:20px;font-weight:700}
.reg-template label{display:block;margin:16px 0 8px;font-weight:600;font-size:14px}
.reg-template input,.reg-template textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--ink);font:inherit}
.reg-template textarea{resize:vertical;line-height:1.6}
.reg-template-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;margin-top:16px}
.reg-template-actions p{margin-right:auto;color:var(--dim);font-size:14px}
.reg-template-actions .settings-back{margin:0;min-height:44px}
@media(max-width:639px){.reg-stats{grid-template-columns:repeat(3,1fr);gap:8px}.reg-stat{padding:12px}.reg-stat strong{font-size:22px}.reg-stat span{font-size:12px}.reg-template{padding:18px}.reg-detail-actions{width:100%}.reg-detail-actions>*{flex:1}.reg-inline{flex-direction:column}}
.reg-record-boxes{display:grid;gap:20px;max-width:860px;margin-top:28px}
.reg-record{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--panel)}
.reg-record h2{font-size:18px;font-weight:700;margin-bottom:16px}
.reg-record-body{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start;justify-content:space-between}
.reg-record-grid{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:16px 24px;margin:0;flex:1 1 320px}
.reg-record-grid dt{font-size:12px;color:var(--dim);margin-bottom:4px}
.reg-record-grid dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.reg-record-qr{margin:0;display:grid;justify-items:center;gap:8px;font-size:13px}
.reg-record-qr #rrQr{min-width:132px;min-height:132px;padding:8px;border:1px solid var(--line);border-radius:12px;background:#fff;display:grid;place-items:center}
.reg-record-qr #rrQr:empty{display:none}
.reg-record-qr a{color:var(--acc1);font-weight:600}
.reg-record-qr #rrQrDownload{display:grid;justify-items:center;gap:8px;text-decoration:none;border-radius:12px;cursor:pointer}
.reg-record-qr #rrQrDownload[hidden]{display:none}
.reg-record-qr #rrQrDownload:hover #rrQr{border-color:var(--acc1)}
.reg-record-qr #rrQrDownload:focus-visible{outline:2px solid var(--acc1);outline-offset:5px}
.reg-record-qr .reg-qr-hint{font-size:12px;font-weight:400;color:var(--dim)}
.reg-email-table{min-width:520px}
.reg-email-table td .settings-back{margin:0;min-height:36px;padding:6px 12px}
.reg-email-sent{background:#0b8a5b;color:#fff}
.reg-email-pending{border:1px solid #b4690e;color:#b4690e}
.reg-email-error{background:#dc2626;color:#fff}
small.reg-email-error{display:block;margin-top:4px;background:none;color:#dc2626;font-size:12px;max-width:260px;overflow-wrap:anywhere}
#rrEmailMessage{margin-top:12px;color:var(--dim);font-size:14px}
@media(max-width:639px){.reg-record{padding:18px}.reg-record-grid{grid-template-columns:1fr}}
/* Email template header image */
.reg-template-header{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.reg-template-header img{width:min(100%,360px);max-height:120px;object-fit:cover;border:1px solid var(--line);border-radius:10px;background:#fff}
.reg-template-header-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.reg-template-header-actions input[type=file]{padding:8px;background:var(--panel)}
.reg-template-header-actions .settings-back{margin:0;min-height:40px}
.reg-template [hidden]{display:none!important}
/* Bulk email picker in List of Registrations */
.reg-bulk-email select{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);font-weight:600}
#regBulkHint{margin:-8px 0 16px}
.reg-send-progress{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.reg-send-progress[hidden],.reg-send-progress button[hidden]{display:none}
.reg-send-progress p{width:100%;margin:0;color:var(--ink);font-size:14px;font-weight:700}
.reg-send-progress progress{flex:1;min-width:160px;height:10px;accent-color:var(--acc1)}
/* Keep all six attendee filters on one row when space allows. */
#view-attendees .reg-stats{grid-template-columns:repeat(6,minmax(0,1fr))}
#view-data .reg-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:999px){#view-attendees .reg-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:639px){#view-attendees .reg-stats,#view-data .reg-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Registration scanner */
.regscan-head{text-align:center;margin-bottom:20px}
.regscan-head-icon{display:inline-grid;place-items:center;width:52px;height:52px;margin-bottom:10px;border-radius:16px;background:var(--acc1);color:#fff;box-shadow:0 12px 28px -14px var(--acc1)}
.regscan-sub{margin-top:6px;color:var(--dim);font-size:14px}
.regscan-steps{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.regscan-steps li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:12px;font-weight:600;color:var(--ink)}
.regscan-steps b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--acc1);color:#fff;font-size:11px}
.regscan-card{box-shadow:0 24px 60px -34px #30121c55}
/* Draw: editable full-screen title */
.draw-title-field{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--dim)}
.draw-title-field input{min-height:38px;width:min(240px,60vw);padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);font-size:13px}
/* Q & A data actions menu sits on the heading row */
#qdActions summary{min-height:40px;padding:8px 16px}
/* Lead Scanner (Sponsor Site) menu */
.lead-menu{display:grid;gap:14px}
.lead-choice{display:flex;align-items:center;gap:16px;width:100%;padding:20px;text-align:left;border:1px solid var(--line);border-radius:20px;background:var(--panel);color:var(--ink);box-shadow:var(--card-shadow);cursor:pointer;transition:border-color .15s,transform .1s}
.lead-choice:hover{border-color:var(--acc1)}
.lead-choice:active{transform:scale(.99)}
.lead-choice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;color:#fff;flex-shrink:0}
.lead-choice-copy{flex:1;min-width:0}
.lead-choice-copy strong{display:block;font-size:17px;font-weight:700}
.lead-choice-copy small{display:block;margin-top:3px;color:var(--dim);font-size:13px}
.lead-chev{font-size:26px;color:var(--dim)}
.lead-choice-out .lead-choice-icon{background:#6d28d912;color:#6d28d9}
.lead-choice-out strong{color:#6d28d9}
.lead-back{min-height:40px;padding:8px 14px;border:1px solid #ffffff66;border-radius:999px;background:#ffffff1f;color:#fff;font-weight:600;font-size:13px;white-space:nowrap}
.lead-back:hover{background:#ffffff33}
.lead-download{position:relative}
.lead-download summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.lead-download summary::-webkit-details-marker{display:none}
.lead-download>div{position:absolute;right:0;top:calc(100% + 6px);z-index:40;display:grid;min-width:170px;padding:6px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--card-shadow)}
.lead-download>div button{min-height:40px;padding:8px 12px;border-radius:8px;text-align:left;font-weight:600;font-size:14px;color:var(--ink)}
.lead-download>div button:hover{background:var(--panel2)}
/* ---------- Shared form design: dialogs, detail pages and editors ---------- */
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=range]),select,textarea){
  min-height:46px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background-color:var(--panel)!important;color:var(--ink);font-size:15px;
  transition:border-color .15s,box-shadow .15s,background .15s}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) :is(input,select,textarea):hover:not(:disabled):not([readonly]){border-color:#b9aeb3}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) :is(input,select,textarea):focus{border-color:var(--acc1)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--acc1) 14%,transparent)!important;outline:none}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) :is(input,textarea)::placeholder{color:#9b9096}
:is(.sponsor-dialog,.event-details-form,.reg-template) :is(input[readonly],select:disabled,input:disabled){background-color:var(--panel2)!important;color:var(--dim);cursor:not-allowed}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) select{appearance:none;-webkit-appearance:none;padding-right:42px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23625960' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 14px center!important}
:is(.sponsor-dialog,.event-details-form,.reg-template) label{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:-.005em}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) input[type=file]{width:100%;padding:8px;border:1px dashed var(--line);border-radius:12px;background:var(--panel2);font-size:14px;color:var(--dim);cursor:pointer}
:is(.sponsor-dialog,.event-details-form,.reg-template,.account-tools) input[type=file]::file-selector-button{margin-right:12px;padding:8px 14px;border:0;border-radius:9px;background:var(--acc1);color:#fff;font-weight:600;cursor:pointer}
.sponsor-dialog{padding:0;box-shadow:0 30px 80px -30px #20081066}
.sponsor-dialog>header{position:sticky;top:0;z-index:2;margin:0;padding:22px 28px 18px;background:var(--panel);border-bottom:1px solid var(--line-soft)}
.sponsor-dialog>header h2{font-size:22px}
.sponsor-dialog>header button[aria-label^="Close"],.sponsor-dialog>header [data-close],#inviteClose,#eventClose{display:grid;place-items:center;width:40px;height:40px;min-height:40px!important;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--dim);font-size:16px;cursor:pointer}
.sponsor-dialog>header button[aria-label^="Close"]:hover,#inviteClose:hover,#eventClose:hover{background:var(--panel2);color:var(--ink)}
#sponsorClose{white-space:nowrap}
.sponsor-dialog>:not(header){padding-left:28px;padding-right:28px}
.sponsor-dialog>:last-child{padding-bottom:28px}
.sponsor-dialog>form{padding-top:6px}
.sponsor-dialog form>.sponsors-button:last-child,.sponsor-dialog form>.account-save{display:flex;margin:26px 0 0 auto}
.sponsor-dialog form>.sponsors-button:last-child{min-width:140px;justify-content:center}
.sponsor-form-actions{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:26px}
.sponsor-form-actions .settings-back{margin:0;min-height:44px}
.sponsor-form-actions .sponsors-button{margin-left:auto;min-width:150px}
.sponsors-button{transition:filter .15s,transform .1s,box-shadow .15s;box-shadow:0 10px 24px -14px var(--acc1)}
.sponsors-button:hover{filter:brightness(1.08)}
.sponsors-button:active{transform:scale(.98)}
.event-details-form{padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--panel);box-shadow:var(--card-shadow)}
#regNewDialog .event-details-form,#regNewDialog #regDetailForm{padding:0;border:0;box-shadow:none}
.reg-template{box-shadow:var(--card-shadow)}
[role="status"][data-error="true"],#sponsorMessage[data-error="true"]{color:#b91c35;font-weight:600}
@media(max-width:639px){
  .sponsor-dialog>header{padding:18px 20px 14px}
  .sponsor-dialog>:not(header){padding-left:20px;padding-right:20px}
  .sponsor-dialog>:last-child{padding-bottom:20px}
  .event-details-form{padding:20px}
  .sponsor-dialog form>.sponsors-button:last-child,.sponsor-form-actions .sponsors-button{width:100%}
}
/* ---------- Account status switch (row and account details) ---------- */
.status-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
.status-switch input{position:absolute;opacity:0;width:1px;height:1px}
.status-track{position:relative;width:42px;height:24px;flex-shrink:0;border-radius:999px;background:#cfc6ca;transition:background .15s}
.status-track::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .15s}
.status-switch input:checked+.status-track{background:#0b8a5b}
.status-switch input:checked+.status-track::after{transform:translateX(18px)}
.status-switch input:focus-visible+.status-track{outline:3px solid #ce6e84;outline-offset:2px}
.status-switch input:disabled+.status-track{opacity:.5;cursor:not-allowed}
.status-text{font-size:13px;font-weight:600;white-space:nowrap}
.status-text.status-active{color:#0b8a5b}.status-text.status-pending{color:#b4690e}.status-text.status-deactive{color:var(--dim)}
.status-switch.is-readonly{cursor:default}
#accountStatus:not([hidden]){display:inline-flex;margin-left:4px}
/* ---------- Sponsor delete ---------- */
.sponsor-row-actions{width:56px;text-align:right}
.sponsor-delete{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--dim);cursor:pointer}
.sponsor-delete:hover{color:#dc2626;border-color:#dc262666;background:#dc26260d}
.sponsor-dialog>:first-child:not(header){padding-top:28px}
.sponsor-dialog label.status-switch{display:inline-flex;margin:0;font-weight:600}
.sponsors-panel input[type=search]{background:var(--panel);min-height:46px;transition:border-color .15s,box-shadow .15s}
/* ---------- Email templates: table and editor page ---------- */
.tpl-table{min-width:520px}
.tpl-table tbody tr{cursor:pointer}
.tpl-table tbody tr:hover{background:var(--panel2)}
.tpl-num{width:70px;color:var(--dim);font-variant-numeric:tabular-nums}
.tpl-status-active{background:#0b8a5b;color:#fff}
.tpl-status-draft{border:1px solid #b4690e;color:#b4690e}
.tpl-status-deactive{border:1px solid var(--line);color:var(--dim);background:var(--panel2)}
.tpl-edit-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.tpl-edit-title{flex:1 1 360px;min-width:0}
#tplTitle{width:100%;padding:6px 10px;margin-left:-10px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--ink);font-size:clamp(24px,3.4vw,32px);font-weight:700;letter-spacing:-.03em}
#tplTitle:hover{border-color:var(--line)}
#tplTitle:focus{border-color:var(--acc1);background:var(--panel);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc1) 14%,transparent);outline:none}
.tpl-status-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px}
.tpl-status-row label{font-size:13px;font-weight:600;color:var(--dim)}
#tplStatus{min-height:40px;padding:8px 38px 8px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23625960' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;-webkit-appearance:none;color:var(--ink);font-weight:600;cursor:pointer}
.tpl-edit-actions{display:flex;flex-wrap:wrap;gap:10px}
.tpl-edit-actions .settings-back{margin:0;min-height:44px}
#tplMessage:empty{display:none}
#tplMessage{margin:0 0 14px;color:var(--dim);font-size:14px}
.tpl-edit-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}
.tpl-edit-side{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}
.tpl-to-row{display:flex;align-items:flex-start;gap:14px;margin-top:18px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}
.tpl-to-row>span{padding-top:7px;color:var(--dim);font-size:13px;font-weight:700}
.tpl-to-row #tplTypesWrap{flex:1;min-width:0}
.tpl-to-row .tpl-types{margin:0!important;border:0!important;padding:0!important}
.tpl-edit-side h2{font-size:16px!important;margin-top:4px}
.tpl-edit-side h2+p{margin:4px 0 12px}
.tpl-edit-side h2:not(:first-child){margin-top:24px;padding-top:20px;border-top:1px solid var(--line-soft)}
.tpl-codes{display:flex;flex-wrap:wrap;gap:6px}
.tpl-codes button,.tpl-code{padding:5px 9px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:var(--ink);font:600 12px ui-monospace,SFMono-Regular,Menlo,monospace;cursor:pointer}
.tpl-codes button:hover,.tpl-code:hover{border-color:var(--acc1);color:var(--acc1)}
.tpl-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;border:1px solid var(--line);border-bottom:0;border-radius:12px 12px 0 0;background:var(--panel2)}
.tpl-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-weight:600;font-size:13px;cursor:pointer}
.tpl-toolbar button:hover,.tpl-toolbar button:focus-visible,.tpl-text-color:hover,.tpl-text-color:focus-within{border-color:var(--acc1);color:var(--acc1)}
.tpl-toolbar select{min-height:36px;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font-size:13px}
.tpl-text-color{position:relative;display:inline-grid;place-items:center;width:36px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:var(--panel);cursor:pointer;--tpl-color:#b91c1c}
.tpl-text-color span{font-size:16px;font-weight:800;line-height:1;border-bottom:4px solid var(--tpl-color);padding:2px 2px 3px}
.tpl-text-color input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.tpl-link-color input[type=color]{width:36px!important;min-height:34px!important;height:34px;padding:2px!important;border:1px solid var(--line);border-radius:8px;background:var(--panel)!important;cursor:pointer}
.tpl-emoji-wrap{position:relative}
.tpl-align-wrap{position:relative}
.tpl-align-picker{position:absolute;z-index:5;left:0;bottom:calc(100% + 6px);display:grid;min-width:120px;gap:4px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 24px #0002}
.tpl-align-picker[hidden]{display:none}
.tpl-align-picker button{text-align:left}
.tpl-emoji-picker{position:absolute;z-index:5;right:0;bottom:calc(100% + 6px);display:grid;grid-template-columns:repeat(4,36px);gap:4px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--panel);box-shadow:0 8px 24px #0002}
.tpl-emoji-picker[hidden]{display:none}
.tpl-emoji-picker button{font-size:18px;padding:4px}
.tpl-attachment-list{margin-top:10px;font-size:12px;color:var(--dim)}
.tpl-attachment{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:5px 0;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);overflow-wrap:anywhere}
.tpl-attachment button{border:0;background:none;color:#dc2626;font-size:12px;font-weight:700;cursor:pointer}
.tpl-toolbar+textarea{border-top-left-radius:0!important;border-top-right-radius:0!important;font-family:ui-monospace,SFMono-Regular,Menlo,monospace!important;font-size:14px!important;line-height:1.6}
.tpl-attachment-panel{margin-top:14px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.tpl-attachment-panel h2{margin:0 0 4px;font-size:16px}
.tpl-attachment-panel .reg-hint{margin:0 0 10px}
.tpl-attachment-panel input[type=file]{max-width:100%}
.tpl-foot{display:flex;justify-content:flex-start;margin-top:12px}
.tpl-foot .settings-back{margin:0}
.tpl-link{display:grid;gap:4px;padding:12px;margin-bottom:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.tpl-link label{margin:6px 0 2px!important;font-size:12px!important}
.tpl-link input:not([type=color]){min-height:40px!important;padding:8px 10px!important;font-size:14px!important}
.tpl-link-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px}
.tpl-link-color{display:inline-flex!important;align-items:center;gap:6px;margin:0!important}
.tpl-link-remove{margin-left:auto;padding:4px 8px;border:0;background:none;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer}
.tpl-preview{width:min(860px,calc(100% - 24px));background:#f7f5f6}
.tpl-preview>header{align-items:flex-start;background:#fff;padding:24px 32px}
.tpl-preview>header h2{margin:3px 0 4px;font-size:24px}
.tpl-preview-kicker{margin:0;color:var(--acc1);font-size:11px;font-weight:800;letter-spacing:.12em}
.tpl-preview-subject{display:inline-block;max-width:600px;margin:8px 0 0;padding:10px 14px;border:1px solid color-mix(in srgb,var(--acc1) 30%,#fff);border-left:4px solid var(--acc1);border-radius:8px;background:color-mix(in srgb,var(--acc1) 8%,#fff);color:var(--ink);font-size:14px;font-weight:700;line-height:1.45;overflow-wrap:anywhere}
.tpl-preview-subject::before{content:"Subject";display:block;margin-bottom:3px;color:var(--acc1);font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.tpl-preview.detail-page>[data-detail-back]{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;min-height:42px;margin:4px 0 20px;padding:9px 16px;border:1px solid var(--acc1);border-radius:11px;background:var(--acc1);color:#fff;font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap}
.tpl-preview.detail-page>[data-detail-back]:hover{background:color-mix(in srgb,var(--acc1) 85%,#000);color:#fff}
.tpl-preview-body{padding-top:20px}
.tpl-preview-body>.reg-hint{margin:0 0 12px}
.tpl-preview-content{margin-top:0;border:1px solid var(--line);border-radius:16px;background:#eee9ec;padding:24px;overflow:auto}
.tpl-preview-content>div{box-shadow:0 10px 30px #2c10221a;border:1px solid #e8e2e5;border-radius:10px;overflow:hidden}
.tpl-preview-files{margin:16px 0 0;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-size:13px}
.tpl-preview-files ul{margin:8px 0 0;padding-left:20px}
.tpl-preview-files a{color:var(--acc1);text-decoration:underline;overflow-wrap:anywhere}
@media(max-width:639px){.tpl-preview>header{flex-direction:column;gap:12px;padding:20px}.tpl-preview-content{padding:10px}}
.reg-sent-filters{margin:16px 0}
@media(max-width:900px){.tpl-edit-grid{grid-template-columns:1fr}.tpl-edit-side{position:static}}
@media(max-width:639px){.tpl-edit-actions{width:100%}.tpl-edit-actions>*{flex:1}}
.sponsor-dialog textarea{width:100%;resize:vertical;line-height:1.6}
/* Email template participation types */
.tpl-types{display:flex;flex-wrap:wrap;gap:8px 10px;margin:14px 0 0;padding:0;border:0}
.tpl-types legend{width:100%;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--ink)}
.tpl-types label{display:inline-flex!important;align-items:center;gap:8px;margin:0!important;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:13px!important;font-weight:600;cursor:pointer}
.tpl-types label:has(input:checked){border-color:var(--acc1);background:color-mix(in srgb,var(--acc1) 8%,var(--panel));color:var(--acc1)}
.tpl-types input{width:16px;height:16px;margin:0;accent-color:var(--acc1)}
.tpl-types input:disabled{cursor:not-allowed}
.tpl-types label:has(input:disabled){cursor:not-allowed;opacity:.8}
.tpl-types-cell{color:var(--dim);font-size:13px}
body.detail-page-open > :not(.detail-page):not(script):not(style):not(dialog[open]):not(#confirmModal):not(#archiveModal):not(#success){display:none!important}
body.detail-page-open .detail-page{display:block!important;position:relative!important;inset:auto!important;width:100%!important;max-width:1100px!important;min-height:100dvh;margin:0 auto!important;padding:24px!important;background:var(--panel,#fff)!important;color:var(--ink,#242024);border:0!important;box-shadow:none!important;backdrop-filter:none!important;max-height:none!important;overflow:visible!important}
.detail-page > div{max-width:none!important;max-height:none!important;overflow:visible!important;box-shadow:none!important}
.detail-page [data-detail-back]{margin-bottom:20px}
.portal-menu{max-width:620px;margin:32px auto}.portal-menu h1{font-size:28px;font-weight:700}.portal-menu p{margin:8px 0 24px;color:var(--dim)}.portal-menu button{display:flex;justify-content:space-between;width:100%;padding:28px;margin:16px 0;font-size:20px;font-weight:600;text-align:left}.portal-header{padding:24px;background:var(--acc1);color:white;border-radius:20px;min-height:110px}.portal-header #hdrEvent{color:white;font-size:12px;line-height:1.8;letter-spacing:normal}
.sponsor-portal{width:100%;max-width:1024px;margin:0 auto;padding:32px 24px}
.sponsor-portal .portal-header{display:flex;align-items:center}
.sponsor-portal .sponsor-menu-back{margin-top:16px;margin-bottom:0}
.sponsor-portal #scanView,.sponsor-portal #dashView{padding-left:0;padding-right:0}
@media(max-width:639px){.sponsor-portal{padding:24px 16px}}
.attendee-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.attendee-field-value{display:block;min-height:46px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel2);color:var(--ink);overflow-wrap:anywhere}
.attendee-qr{margin-top:24px}.attendee-qr #adQr{margin-top:12px}
.attendee-detail-page [role=switch][aria-checked=true]{background:var(--acc1);color:white;border-color:var(--acc1)}
.view > [data-attendee-detail-hidden]{display:none!important}
.public-registration #formCard .label,.public-registration #lookupCard .label{font-family:inherit;font-size:13px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.public-registration .fld{border-radius:12px!important;background:var(--panel)!important;border:1px solid var(--line)!important;min-height:48px;font-size:15px!important;padding:12px 14px!important;transition:border-color .15s,box-shadow .15s}
.public-registration .fld:focus{border-color:var(--acc1)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--acc1) 12%,transparent)!important;outline:none}
.public-registration #formCard>.grid{gap:18px}
.public-registration #warn{padding:14px 16px;border:1px solid #f2b8bd;border-radius:12px;background:#fff1f2;color:#9f1239;font-size:14px;line-height:1.6}
:is(#success,#regSuccess):has(.popin){background:rgba(20,20,31,.65)!important;backdrop-filter:blur(6px);overflow:auto}
:is(#success,#regSuccess)>.popin{background:var(--panel,#fff);color:var(--ink,#14141f);border-radius:24px;padding:32px 24px;border-top:6px solid var(--result-color,#15803d);box-shadow:0 24px 80px #0003}
:is(#sIcon,#regSuccessIcon){display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:color-mix(in srgb,var(--result-color,#15803d) 12%,white);color:var(--result-color,#15803d);font-size:30px}
:is(#sKind,#regSuccessKind){color:var(--result-color,#15803d);letter-spacing:.05em;font-size:13px}
:is(#sBadge,#regSuccessBadge){font-size:clamp(38px,10vw,64px)!important;margin:18px 0;color:var(--ink)}
:is(#sTitle,#sCompany,#regSuccessTitle,#regSuccessCompany){color:var(--dim)}
#sProgress{background:var(--panel2);color:var(--ink)}
#scanMenu{color:var(--dim)}
#scanAgain{background:var(--acc1);color:white!important;box-shadow:none}
#regScanAgainBtn{background:var(--acc1);color:white!important;box-shadow:none}
#regSuccessMeeting{background:var(--panel2);color:var(--ink)}
#regSuccess .reg-result-label{margin-top:16px;color:var(--dim);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
#regSuccessBadge{margin:6px 0 16px!important}
#regSuccessName{margin-top:4px}
#regSuccessParticipation{color:var(--ink);margin-top:4px}
[data-raffle-hidden]{display:none!important}
.raffle-progress-card{background:var(--panel,#fff);border:1px solid var(--line);border-radius:22px;padding:24px;margin-top:20px}
.raffle-row-menu{position:relative}
.raffle-row-menu summary{list-style:none;cursor:pointer;border:1px solid var(--line);border-radius:10px;width:36px;height:36px;display:grid;place-items:center;font-size:24px;background:var(--panel,#fff)}
.raffle-row-menu summary::-webkit-details-marker{display:none}
.raffle-row-menu>div{position:absolute;right:0;top:40px;z-index:40;width:215px;background:var(--panel,#fff);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 12px 30px #0002}
.raffle-row-menu button{display:block;width:100%;padding:12px;text-align:left;border-radius:8px;font-size:13px}
.raffle-row-menu button:hover{background:var(--panel2)}
.raffle-row-menu button:disabled{opacity:.4;cursor:not-allowed}
.raffle-row-menu[open]{z-index:41}
.view#view-data>div:has(>#dataList){overflow:visible}
body.present #view-raffle>.settings-back{display:none!important}
.winner-table-scroll{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.winner-table{width:100%;min-width:900px;border-collapse:collapse;text-align:left;font-size:14px}
.winner-table th{background:var(--panel2);font-size:12px;color:var(--dim);font-weight:600}
.winner-table th,.winner-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:top}
.winner-table td{overflow-wrap:anywhere;max-width:260px}.winner-table td:first-child{font-weight:700;color:var(--acc1)}
.winner-table tbody tr:last-child td{border-bottom:0}
:is(#success,#regSuccess):has(.popin){padding:16px!important;align-items:safe center}
:is(#success,#regSuccess)>.popin{width:100%;max-width:520px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain}
:is(#sName,#regSuccessName,#successName){font-size:clamp(22px,5vw,32px);overflow-wrap:anywhere}
:is(#sBadge,#regSuccessBadge){overflow-wrap:anywhere;font-size:clamp(30px,8vw,54px)!important}
:is(#sKind,#regSuccessKind){font-weight:700;text-transform:none;letter-spacing:0;font-size:16px}
:is(#success,#regSuccess) button{min-height:44px;white-space:normal;overflow-wrap:anywhere}
:is(#gateCard,#errCard,#okCard){border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 48px #1725540d;overflow-wrap:anywhere}
#okCard{border-top:5px solid #15803d}#errCard{border-top:5px solid #b91c1c}#gateCard{border-top:5px solid var(--acc1)}
:is(#gateTitle,#errTitle,#okHeadline){font-size:clamp(21px,4vw,28px);line-height:1.3}
:is(#gateMsg,#errMsg){font-size:15px;line-height:1.7;max-width:48ch;margin-inline:auto}
#fErr:not(.hidden){padding:12px 16px;border:1px solid #fecdd3;background:#fff1f2;color:#9f1239;border-radius:12px;line-height:1.6}
:is(#gateRetry,#errBack,#okDone){min-height:48px}
dialog{max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-y:auto}
@media(max-width:640px){input,select,textarea{max-width:100%;font-size:16px}button{touch-action:manipulation}.settings-back{max-width:100%;white-space:normal}:is(#success,#regSuccess)>.popin{padding:24px 18px}.winner-table th,.winner-table td{padding:12px}}
/* Keep the presentation board balanced on wide screens. */
body.qna-present #view-qnaboard{background:var(--panel2)!important;overflow:auto;padding:72px clamp(16px,4vw,72px) 28px!important}
body.qna-present #view-qnaboard>.settings-back{display:none!important}
body.qna-present #qnaStage{position:relative!important;inset:auto!important;width:100%;max-width:1440px;margin:auto;border:1px solid var(--line)!important;border-radius:24px!important;min-height:0!important;height:calc(100dvh - 100px);max-height:900px;box-shadow:0 20px 60px #17255412}
body.qna-present #qnaStage>.grid{grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr)}
body.qna-present #qnaStage>.grid>div{min-height:0}
body.qna-present #qnaStage>.grid>div:last-child{grid-template-rows:minmax(0,1fr) auto;overflow:auto}
body.qna-present #qnaStage>.grid>div:last-child>div:first-child{padding:clamp(24px,3vw,48px);overflow:auto}
body.qna-present #qnaSpotlightEmpty{max-width:42ch;font-size:clamp(16px,1.5vw,22px);line-height:1.7}
body.qna-present #qnaUpNext{max-height:22vh;overflow:auto}
body.qna-present #qnaStage>.grid>div:first-child{padding:24px}
@media(max-width:767px){body.qna-present #qnaStage{height:auto;max-height:none}body.qna-present #qnaStage>.grid{grid-template-columns:1fr}body.qna-present #qnaStage>.grid>div:last-child{min-height:340px}body.qna-present #qnaQr{width:180px!important;height:180px!important}body.qna-present #qnaQr img,body.qna-present #qnaQr canvas{max-width:100%;height:auto}}
@media(min-width:768px) and (max-height:700px){body.qna-present #qnaQr{width:180px!important;height:180px!important}body.qna-present #qnaQr img,body.qna-present #qnaQr canvas{max-width:100%;height:auto}body.qna-present #qnaStage>.grid>div:first-child{overflow:auto;justify-content:flex-start}}
body.qna-standalone #sidebar,body.qna-standalone #sbOverlay,body.qna-standalone #mobileMenuBtn,body.qna-standalone #view-qnaboard>.settings-back{display:none!important}
body.qna-standalone #appShell{padding-left:0!important}
body.qna-standalone main{max-width:1440px;margin-inline:auto}

/* Account details follow the registration detail layout. */
#accountDialog > .settings-back { padding:8px 12px; }
#accountDialog > .reg-detail-head { padding:0; }
#accountDialog [hidden] { display:none!important; }
#accountDialog .account-avatar-large { margin:0 0 20px; }

.login-brand { max-width:100%; }
