body.sem-helper{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0,#ffe8a3 0,#fff5d6 18%,transparent 35%),radial-gradient(circle at 92% 8%,#b8f7e1 0,#d9fff1 17%,transparent 36%),linear-gradient(180deg,#eff6ff 0,#f8fafc 48%,#f1f5f9 100%);color:#102033;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}body.sem-helper main{max-width:760px;margin:0 auto;padding:14px 14px 90px}.sem-helper *{box-sizing:border-box}.sem-helper-hero,.sem-panel,.sem-action-bar{background:rgba(255,255,255,.96);border:1px solid rgba(219,231,243,.9);border-radius:28px;box-shadow:0 18px 42px rgba(15,23,42,.10);padding:18px;margin:12px 0}.sem-helper-hero{background:linear-gradient(135deg,#1d4ed8 0,#0e7490 52%,#16a34a 100%);color:#fff;border:0;overflow:hidden;position:relative;padding:22px;box-shadow:0 22px 46px rgba(14,116,144,.28)}.sem-helper-hero:before{content:"";position:absolute;left:-48px;bottom:-52px;width:150px;height:150px;background:rgba(255,255,255,.14);border-radius:999px}.sem-helper-hero:after{content:"";position:absolute;right:-42px;top:-42px;width:132px;height:132px;background:rgba(255,255,255,.18);border-radius:999px}.sem-helper-hero>*{position:relative;z-index:1}.sem-activity-pill{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.32);border-radius:999px;padding:7px 11px;font-size:13px;font-weight:900;letter-spacing:.02em;backdrop-filter:blur(6px)}.sem-helper-hero h1{margin:14px 0 8px;font-size:44px;line-height:1.02;letter-spacing:-.055em;text-shadow:0 2px 10px rgba(0,0,0,.14)}.sem-link-btn{border:1px solid rgba(255,255,255,.28);background:rgba(255,255,255,.18);color:#fff;border-radius:999px;padding:9px 13px;font-weight:900}.sem-mobile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}.sem-mobile-stats span{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.28);border-radius:18px;padding:14px 12px;font-weight:900;backdrop-filter:blur(8px)}.sem-mobile-stats strong{font-size:38px;display:block;line-height:1}.sem-action-bar{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;padding:10px;background:rgba(255,255,255,.82);position:sticky;top:8px;z-index:20;backdrop-filter:blur(10px)}.sem-big-action{border:0;background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;border-radius:22px;padding:16px 12px;text-align:left;box-shadow:0 14px 26px rgba(239,68,68,.22);font-weight:950;min-height:72px;cursor:pointer}.sem-big-action:before{content:"📲";display:block;font-size:24px;line-height:1;margin-bottom:3px}.sem-big-action span{display:block;font-size:18px}.sem-big-action small{display:block;font-weight:800;opacity:.9;margin-top:3px}.sem-big-action.secondary{background:#fff;color:#102033;border:1px solid #dbe7f3;box-shadow:0 8px 20px rgba(15,23,42,.05)}.sem-big-action.secondary:before{content:"🔎"}.sem-big-action.secondary:last-child:before{content:"✅"}.sem-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.sem-list-head h2{margin:0;font-size:28px;letter-spacing:-.035em}.sem-filter-row select,.sem-helper input,.sem-helper select{width:100%;border:1px solid #cbd5e1;border-radius:16px;padding:13px 14px;background:#fff;font-size:16px;min-height:48px}.sem-panel{padding:18px}.sem-attendee-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;margin:10px 0;border:1px solid #e7edf5;border-radius:20px;background:linear-gradient(180deg,#fff,#f8fafc)}.sem-attendee-row.is-complete{background:linear-gradient(180deg,#ecfdf5,#f8fafc);border-color:#bbf7d0}.sem-person strong{display:block;font-size:22px;letter-spacing:-.025em}.sem-person span{display:inline-flex;margin-top:6px;background:#dcfce7;color:#166534;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950}.sem-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5e1;background:#fff;color:#102033;text-decoration:none;border-radius:16px;padding:12px 15px;min-height:48px;cursor:pointer;font-weight:950;font-size:15px}.sem-btn.primary{background:linear-gradient(135deg,#2563eb,#0891b2);border-color:transparent;color:#fff;box-shadow:0 10px 20px rgba(37,99,235,.18)}.sem-btn.subtle{background:#f8fafc;color:#475569}.sem-empty,.sem-small{color:#64748b}.sem-small{font-size:13px;line-height:1.35}.sem-card-prompt{font-size:18px;line-height:1.35}.sem-notice{background:#ecfdf3;border:1px solid #bbf7d0;color:#166534;border-radius:16px;padding:10px 12px;margin:12px 0;font-weight:900}.sem-modal{position:fixed;inset:0;background:rgba(15,23,42,.58);z-index:999999;display:none;align-items:flex-end;justify-content:center;padding:14px}.sem-modal.sem-show{display:flex}.sem-modal-card{background:#fff;border-radius:30px 30px 24px 24px;box-shadow:0 26px 60px rgba(2,6,23,.28);padding:22px;width:min(560px,100%);max-height:84vh;overflow:auto;position:relative}.sem-modal-card h2{margin:0 44px 12px 0;font-size:30px;letter-spacing:-.04em}.sem-x{position:absolute;right:14px;top:12px;width:42px;height:42px;border:0;border-radius:999px;background:#f1f5f9;font-size:30px;line-height:1;cursor:pointer}.sem-scan-form,.sem-helper-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:12px}.sem-scan-form input,.sem-helper-search input{width:100%;font-size:18px}.sem-completed-name{border-top:1px solid #edf2f7;margin:0;padding:12px 0}.sem-completed-name:first-of-type{border-top:0}@media(max-width:720px){body.sem-helper main{padding:10px 10px 86px}.sem-helper-hero,.sem-panel{border-radius:26px;padding:17px}.sem-helper-hero h1{font-size:42px}.sem-action-bar{grid-template-columns:1fr 1fr 1fr;gap:7px;padding:8px;border-radius:24px;top:6px}.sem-big-action{text-align:center;padding:12px 7px;min-height:76px;border-radius:18px}.sem-big-action span{font-size:15px}.sem-big-action small{font-size:11px}.sem-big-action:before{font-size:22px}.sem-attendee-row{align-items:center;padding:13px}.sem-attendee-row form{display:flex;align-items:center}.sem-attendee-row .sem-btn{min-width:92px}.sem-person strong{font-size:20px}.sem-modal{align-items:flex-end;padding:0}.sem-modal-card{border-radius:30px 30px 0 0;max-height:86vh}.sem-scan-form,.sem-helper-search{grid-template-columns:1fr}.sem-btn{width:100%}.sem-mobile-stats strong{font-size:34px}}
/* v1.0.0 activity theme polish */
body.sem-helper-v10{background:radial-gradient(circle at 18% -8%,rgba(255,255,255,.95) 0 9%,transparent 24%),radial-gradient(circle at 94% 4%,rgba(255,255,255,.7) 0 8%,transparent 25%),linear-gradient(135deg,#dbeafe 0,#ecfeff 42%,#fef3c7 100%)}
body.sem-helper-v10:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.28;background-image:radial-gradient(circle at 20% 20%,#fff 0 2px,transparent 3px),radial-gradient(circle at 70% 35%,#fff 0 2px,transparent 3px),radial-gradient(circle at 44% 78%,#fff 0 2px,transparent 3px);background-size:92px 92px,128px 128px,160px 160px}.sem-helper-v10 .sem-helper-hero{min-height:190px;display:flex;flex-direction:column;justify-content:space-between}.sem-helper-v10 .sem-helper-hero:after{content:"⚜";display:grid;place-items:center;font-size:64px;font-weight:900;right:-18px;top:auto;bottom:-30px;width:150px;height:150px;opacity:.32;color:#fff}.sem-helper-v10 .sem-action-bar{box-shadow:0 18px 34px rgba(15,23,42,.14)}.sem-theme-rafting .sem-helper-hero{background:linear-gradient(135deg,#0369a1,#0891b2 55%,#22c55e)}.sem-theme-rafting .sem-helper-hero:after{content:"🌊"}.sem-theme-archery .sem-helper-hero{background:linear-gradient(135deg,#166534,#65a30d 55%,#f59e0b)}.sem-theme-archery .sem-helper-hero:after{content:"🎯"}.sem-theme-tomahawks .sem-helper-hero{background:linear-gradient(135deg,#78350f,#b45309 55%,#f97316)}.sem-theme-tomahawks .sem-helper-hero:after{content:"🪓"}.sem-theme-low-ropes .sem-helper-hero{background:linear-gradient(135deg,#14532d,#16a34a 55%,#84cc16)}.sem-theme-low-ropes .sem-helper-hero:after{content:"🪢"}.sem-theme-craft .sem-helper-hero{background:linear-gradient(135deg,#7c3aed,#ec4899 55%,#f59e0b)}.sem-theme-craft .sem-helper-hero:after{content:"🎨"}.sem-theme-games .sem-helper-hero{background:linear-gradient(135deg,#2563eb,#7c3aed 55%,#ec4899)}.sem-theme-games .sem-helper-hero:after{content:"🎲"}.sem-theme-campfire .sem-helper-hero{background:linear-gradient(135deg,#7f1d1d,#ea580c 55%,#facc15)}.sem-theme-campfire .sem-helper-hero:after{content:"🔥"}.sem-theme-waterfight .sem-helper-hero{background:linear-gradient(135deg,#1d4ed8,#06b6d4 55%,#a7f3d0)}.sem-theme-waterfight .sem-helper-hero:after{content:"💦"}.sem-theme-drumming .sem-helper-hero{background:linear-gradient(135deg,#581c87,#be185d 55%,#f97316)}.sem-theme-drumming .sem-helper-hero:after{content:"🥁"}.sem-theme-cave-bus .sem-helper-hero{background:linear-gradient(135deg,#1f2937,#475569 55%,#0f766e)}.sem-theme-cave-bus .sem-helper-hero:after{content:"🚌"}.sem-theme-food-hall .sem-helper-hero,.sem-theme-dining-hall .sem-helper-hero{background:linear-gradient(135deg,#92400e,#f97316 55%,#facc15)}.sem-theme-food-hall .sem-helper-hero:after,.sem-theme-dining-hall .sem-helper-hero:after{content:"🍽️"}.sem-theme-first-aid .sem-helper-hero{background:linear-gradient(135deg,#b91c1c,#ef4444 55%,#fca5a5)}.sem-theme-first-aid .sem-helper-hero:after{content:"➕"}.sem-helper-v10 .sem-big-action:first-child{background:linear-gradient(135deg,#f97316,#ec4899)}.sem-helper-v10 .sem-panel{border:0}.sem-helper-v10 .sem-attendee-row{box-shadow:0 10px 22px rgba(15,23,42,.06)}

/* v1.1.0 public check-in helper additions */
.sem-theme-check-in .sem-helper-hero{background:linear-gradient(135deg,#1f7a4d,#3aa5ff 60%,#ffd166);}
.sem-public-nfc-btn{white-space:nowrap}
.sem-live-note{opacity:.82;font-size:.9rem}
.sem-helper .sem-attendee-row form{display:flex;gap:.45rem;flex-wrap:wrap;justify-content:flex-end}
@media (max-width:640px){.sem-helper .sem-attendee-row{grid-template-columns:1fr;align-items:stretch}.sem-helper .sem-attendee-row form,.sem-public-nfc-btn{width:100%}.sem-helper .sem-attendee-row form button{flex:1}}

/* v1.9.1 workflow polish */
.sem-required{color:#dc2626;font-weight:900;margin-left:3px}
.sem-action-bar,.sem-filter-row,.sem-scan-form,.sem-helper-search{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.sem-modal-card .sem-btn{margin-top:10px}
@media (max-width:760px){
  .sem-action-bar,.sem-filter-row,.sem-scan-form,.sem-helper-search{display:grid;grid-template-columns:1fr;gap:10px}
  .sem-action-bar .sem-big-action,.sem-filter-row select,.sem-scan-form input,.sem-scan-form .sem-btn,.sem-helper-search input,.sem-helper-search .sem-btn{width:100%;box-sizing:border-box}
  .sem-btn,.sem-big-action{min-height:46px;white-space:normal;line-height:1.2;text-align:center;justify-content:center}
  .sem-attendee-row{gap:12px;align-items:stretch}
}

/* v2.0.41 ticket QR scanner */
.sem-qr-scan-box{margin-top:12px;padding:12px;border:1px solid rgba(255,255,255,.22);border-radius:16px;background:rgba(255,255,255,.08)}
.sem-qr-scan-box video{display:block;width:100%;max-width:420px;aspect-ratio:4/3;object-fit:cover;border-radius:14px;background:#111827;margin-bottom:8px}

/* v2.0.51: public check-in safety review */
.sem-checkin-review-modal .sem-wide-modal{max-width:860px;width:min(94vw,860px)}
.sem-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}
.sem-review-grid p{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.45);border-radius:12px;padding:10px;margin:0}
.sem-review-warning{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:12px;padding:12px;margin:10px 0}
.sem-review-ok{background:#ecfdf5;border:1px solid #86efac;color:#166534;border-radius:12px;padding:12px;margin:10px 0}
.sem-review-edit{margin-top:14px;border:1px solid rgba(255,255,255,.45);border-radius:14px;padding:12px;background:rgba(255,255,255,.72)}
.sem-review-edit summary{cursor:pointer;margin:-12px -12px 12px;padding:12px;border-radius:14px;background:rgba(255,255,255,.65)}
.sem-review-edit-form{display:grid;gap:10px}
.sem-review-edit-form label{display:grid;gap:5px;font-weight:700}
.sem-review-edit-form textarea{min-height:78px}
.sem-review-confirm-form{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
@media(max-width:720px){.sem-review-grid{grid-template-columns:1fr}.sem-checkin-review-modal .sem-wide-modal{width:96vw}}

/* v2.0.53: public check-in review missing fields + lanyard colour swatches */
.sem-review-grid p.sem-review-missing{background:#fee2e2;border-color:#fecaca;color:#7f1d1d}
.sem-review-grid p.sem-review-missing strong:after{content:"  Missing";display:inline-flex;margin-left:6px;background:#dc2626;color:#fff;border-radius:999px;padding:2px 7px;font-size:11px;text-transform:uppercase;letter-spacing:.04em}
.sem-review-lanyard-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.45);border-radius:14px;padding:12px;margin:12px 0}
.sem-review-lanyard-row small{color:#64748b;font-weight:700}
.sem-review-lanyard-colour,.sem-lanyard-colour{display:inline-flex;align-items:center;gap:8px;font-weight:950}
.sem-lanyard-swatch{display:inline-block;width:28px;height:28px;border-radius:7px;border:2px solid rgba(15,23,42,.25);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 4px 10px rgba(15,23,42,.12);vertical-align:middle;background:repeating-linear-gradient(45deg,#e5e7eb,#e5e7eb 6px,#f8fafc 6px,#f8fafc 12px)}

/* v2.0.54 activity routing helper alert */
.sem-route-modal{background:rgba(15,23,42,.88)!important}.sem-route-card{max-width:720px!important;text-align:center;border:6px solid #facc15!important;box-shadow:0 28px 80px rgba(0,0,0,.45)!important}
.sem-route-card h2{font-size:clamp(34px,8vw,72px)!important;line-height:1!important;margin:0 0 16px!important;color:#111827!important}
.sem-route-next{font-size:clamp(28px,7vw,64px)!important;line-height:1.08!important;margin:0 0 18px!important}.sem-route-next strong{display:block;color:#7c3aed!important;text-transform:uppercase;margin-top:10px}
.sem-route-message{font-size:clamp(18px,4vw,30px);font-weight:800;background:#fef3c7;border-radius:18px;padding:14px;margin:18px 0}.sem-route-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.sem-route-actions .sem-btn{font-size:20px;padding:16px 20px}

/* v2.0.55 route status badges on activity helper lists */
.sem-person-chips{display:flex!important;gap:6px;flex-wrap:wrap;margin-top:6px;background:transparent!important;padding:0!important}
.sem-person-chips:empty{display:none!important}
.sem-helper-chip{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950;font-style:normal;letter-spacing:.01em}
.sem-helper-chip.complete{background:#dcfce7;color:#166534}
.sem-helper-chip.route.warn{background:#fef3c7;color:#92400e}
.sem-helper-chip.route.good{background:#dcfce7;color:#166534}
.sem-helper-chip.route.danger{background:#fee2e2;color:#991b1b}
.sem-attendee-row.has-route-status{border-color:#facc15;box-shadow:0 10px 24px rgba(250,204,21,.18)}
@media(max-width:720px){.sem-attendee-row.has-route-status{background:linear-gradient(180deg,#fff7ed,#fff)}}

/* v2.0.61 Site Comms helper UI */
.sem-comms-action span{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.sem-ptt-icon{width:24px;height:24px;vertical-align:-6px;fill:currentColor;flex:0 0 auto}
.sem-ptt-icon .screen{fill:#bae6fd}.sem-ptt-icon .grille{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round}.sem-ptt-icon .ptt{fill:#ef4444}
.sem-comms-modal-card h2{display:flex;align-items:center;gap:10px}
.sem-comms-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:8px 0 16px}
.sem-comms-card{border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:12px;background:rgba(255,255,255,.12);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.sem-comms-card.current{outline:3px solid rgba(34,197,94,.55);background:rgba(34,197,94,.16)}
.sem-comms-holder{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.sem-comms-callsign{font-size:1.45rem;font-weight:900;margin:.25rem 0}.sem-comms-card p{margin:.25rem 0 0}.sem-comms-footer{margin-top:12px;padding:10px 12px;border-radius:12px;background:rgba(250,204,21,.18);font-weight:700}

/* v2.0.62 immediate activity screen messages */
.sem-notify-action:before{content:"🔔"!important}
.sem-screen-message-modal{background:rgba(15,23,42,.9)!important;align-items:center!important}
.sem-screen-message-card{max-width:760px!important;text-align:center;border:6px solid #38bdf8!important;background:linear-gradient(180deg,#ffffff,#eff6ff)!important;box-shadow:0 30px 90px rgba(0,0,0,.45)!important}
.sem-screen-message-card h2{font-size:clamp(34px,8vw,68px)!important;line-height:1!important;margin:0 0 18px!important;color:#0f172a!important}
.sem-screen-message-text{font-size:clamp(24px,6vw,54px)!important;line-height:1.12!important;font-weight:950;background:#dbeafe;border:1px solid #93c5fd;border-radius:24px;padding:22px;margin:18px 0;color:#172554;white-space:pre-wrap}
.sem-screen-message-card .huge{font-size:24px;padding:18px 28px;min-height:64px}
.sem-activity-screen-send-panel select[multiple]{min-height:180px}
@media(max-width:720px){.sem-screen-message-card{border-radius:30px 30px 0 0!important}.sem-screen-message-text{padding:18px}.sem-activity-screen-send-panel select[multiple]{min-height:150px}}

/* v2.0.63 activity helper accident / first aid quick report */
.sem-firstaid-action{background:linear-gradient(135deg,#047857,#22c55e 60%,#bbf7d0)!important;color:#fff!important}
.sem-firstaid-action span{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.sem-firstaid-icon{width:25px;height:25px;vertical-align:-6px;flex:0 0 auto}.sem-firstaid-icon rect{fill:#16a34a}.sem-firstaid-icon path{fill:#fff}
.sem-firstaid-modal-card h2{display:flex;align-items:center;gap:10px}.sem-firstaid-modal-card{max-width:900px!important;width:min(96vw,900px)!important}
.sem-firstaid-lookup-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;align-items:start;margin:12px 0}.sem-firstaid-lookup-grid form{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);border-radius:16px;padding:12px}
.sem-firstaid-alert-card{background:linear-gradient(180deg,#ecfdf5,#ffffff);border:1px solid #86efac;border-radius:18px;padding:14px;margin:12px 0;box-shadow:0 10px 22px rgba(22,163,74,.12)}
.sem-firstaid-alert-card h3{font-size:1.6rem;margin:.1rem 0 .3rem}.sem-firstaid-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sem-firstaid-grid p{margin:0;background:#fff;border:1px solid #dcfce7;border-radius:13px;padding:10px;color:#0f172a}.sem-firstaid-grid p:nth-child(3),.sem-firstaid-grid p:nth-child(4),.sem-firstaid-grid p:nth-child(5){background:#fef2f2;border-color:#fecaca}
.sem-firstaid-form{display:grid;gap:10px}.sem-firstaid-form label{display:grid;gap:5px;font-weight:800}.sem-firstaid-form textarea{min-height:88px}.sem-firstaid-history{margin-top:14px;background:rgba(255,255,255,.12);border-radius:14px;padding:10px}.sem-mini-log{background:rgba(255,255,255,.72);border-radius:12px;padding:10px;margin:8px 0}.sem-mini-log p{margin:.25rem 0}.sem-mini-log small{display:block;color:#475569}
@media(max-width:760px){.sem-firstaid-lookup-grid,.sem-firstaid-grid{grid-template-columns:1fr}.sem-firstaid-action{order:2}.sem-comms-action{order:1}.sem-notify-action{order:3}}

/* v2.0.64: first aid unlock and support helper screens */
.sem-firstaid-lock{background:#f8fafc;border:1px solid #dbeafe;border-radius:22px;padding:16px;margin:14px 0;box-shadow:0 12px 28px rgba(15,23,42,.08)}
.sem-theme-food-hall .sem-helper-hero{background:linear-gradient(135deg,#f59e0b,#84cc16)}
.sem-theme-first-aid .sem-helper-hero{background:linear-gradient(135deg,#16a34a,#059669)}

/* v2.0.72 check-in safety review fields */
.sem-checkin-review-modal .sem-review-section,
.sem-checkin-review-modal .sem-review-edit-section{
  margin:14px 0;
  padding:14px;
  border-radius:22px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 10px 26px rgba(15,23,42,.06);
}
.sem-checkin-review-modal .sem-review-section h3,
.sem-checkin-review-modal .sem-review-edit-section h3{margin:0 0 10px;font-size:1.05rem;}
.sem-review-field,
.sem-review-input{display:block;padding:12px;border-radius:16px;background:#f8fafc;border:1px solid #e2e8f0;min-height:64px;}
.sem-review-field.sem-review-missing,
.sem-review-input.sem-review-missing{background:#fff1f2;border-color:#fecdd3;box-shadow:0 0 0 3px rgba(244,63,94,.08);}
.sem-review-label,
.sem-review-input>span{display:block;font-weight:800;color:#0f172a;margin-bottom:4px;}
.sem-review-input em{font-style:normal;color:#b91c1c;font-size:.8rem;margin-left:6px;}
.sem-review-value{white-space:pre-wrap;color:#334155;font-weight:600;}
.sem-review-input textarea{min-height:76px;width:100%;}
.sem-review-input select{width:100%;}
.sem-review-input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:10px;}
.sem-consent-review summary{display:flex;justify-content:space-between;gap:10px;align-items:center;cursor:pointer;}
.sem-consent-review summary small,
.sem-review-edit-section summary small{display:block;color:#64748b;margin-top:2px;}
.sem-review-meta{margin-top:8px;}
@media(max-width:700px){.sem-review-input-grid{grid-template-columns:1fr}.sem-consent-review summary{align-items:flex-start}}

/* v2.0.75 helper screen tidy: compact icon-only First Aid and Site Comms tools */
.sem-floating-helper-tools{position:fixed;top:max(10px,env(safe-area-inset-top));left:0;right:0;z-index:70;pointer-events:none;display:flex;justify-content:space-between;padding:0 12px;box-sizing:border-box}
.sem-float-tool{pointer-events:auto;width:52px;height:52px;border:0;border-radius:999px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 28px rgba(15,23,42,.24);cursor:pointer;position:relative;color:#fff;transition:transform .15s ease,box-shadow .15s ease}
.sem-float-tool:hover,.sem-float-tool:focus{transform:translateY(-1px) scale(1.03);box-shadow:0 16px 34px rgba(15,23,42,.30);outline:3px solid rgba(255,255,255,.7)}
.sem-float-tool svg{width:28px!important;height:28px!important;vertical-align:middle}
.sem-float-tool span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sem-float-firstaid{background:linear-gradient(135deg,#16a34a,#047857)}.sem-float-firstaid .sem-firstaid-icon rect{fill:#16a34a}.sem-float-firstaid .sem-firstaid-icon path{fill:#fff}
.sem-float-comms{background:linear-gradient(135deg,#4c1d95,#7c3aed)}.sem-float-comms .sem-ptt-icon{fill:#fff}.sem-float-comms .sem-ptt-icon .screen{fill:#bfdbfe}.sem-float-comms .sem-ptt-icon .ptt{fill:#f87171}
.sem-helper .sem-helper-hero{padding-top:54px}
.sem-notification-intro-modal .sem-modal-card{max-width:620px!important;text-align:center;border:4px solid #38bdf8!important}.sem-notification-intro-modal h2{font-size:clamp(28px,6vw,46px);margin-top:0}.sem-notification-intro-modal .sem-actions{justify-content:center}
.sem-notification-warning{position:fixed;left:12px;right:12px;bottom:12px;z-index:120;display:none;align-items:center;gap:10px;background:#111827;color:#fff;border:1px solid rgba(255,255,255,.2);box-shadow:0 18px 46px rgba(0,0,0,.35);border-radius:18px;padding:12px;font-weight:800}.sem-notification-warning.sem-show{display:flex}.sem-notification-warning span{flex:1}.sem-notification-warning button{border:0;border-radius:999px;padding:8px 12px;font-weight:900;cursor:pointer}.sem-notification-warning [data-sem-enable-notifications]{background:#38bdf8;color:#0f172a}.sem-notification-warning [data-sem-dismiss-notify-warning]{background:#334155;color:#fff;min-width:38px}
@media(max-width:680px){.sem-float-tool{width:50px;height:50px}.sem-float-tool svg{width:27px!important;height:27px!important}.sem-helper .sem-helper-hero{padding-top:52px}.sem-notification-warning{align-items:stretch;flex-direction:column}.sem-notification-warning button{width:100%}}

/* v2.0.77 check-in contact review polish */
.sem-contact-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px}
.sem-contact-card,.sem-contact-edit-card{border:1px solid rgba(15,23,42,.12);border-radius:18px;background:#fff;padding:14px;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.sem-contact-card h4,.sem-contact-edit-card h4{margin:0 0 10px;font-size:1rem;color:#0f172a}
.sem-contact-line{display:grid;grid-template-columns:92px 1fr auto;gap:8px;align-items:center;border-top:1px solid rgba(15,23,42,.08);padding:8px 0;font-size:.94rem}
.sem-contact-line:first-of-type{border-top:0}
.sem-contact-line span{color:#64748b;font-weight:800;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em}
.sem-contact-line strong{color:#0f172a;word-break:break-word}
.sem-contact-line em{grid-column:1/-1;font-style:normal;font-weight:900;color:#991b1b;font-size:.78rem}
.sem-contact-line.sem-line-optional em{color:#92400e}
.sem-call-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#0ea5e9;color:#fff!important;text-decoration:none;font-weight:900;font-size:.78rem;padding:7px 11px;min-width:48px}
.sem-review-optional{background:#fffbeb!important;border-color:#f59e0b!important}
.sem-review-optional .sem-review-value{color:#92400e}
.sem-review-optional-note{background:#fffbeb;border-color:#f59e0b;color:#78350f}
.sem-staff-override{margin-top:14px;border:1px dashed #f59e0b;border-radius:16px;background:#fffbeb;padding:10px}
.sem-staff-override summary{cursor:pointer;font-weight:900;color:#78350f}
.sem-staff-override label{margin-top:8px}
@media(max-width:520px){.sem-contact-line{grid-template-columns:1fr;gap:4px}.sem-call-btn{justify-self:start}.sem-contact-card-grid{grid-template-columns:1fr}}

/* v2.0.85 First Aid request UI */
.sem-firstaid-request-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}
.sem-firstaid-request-summary>div{background:rgba(255,255,255,.86);border:1px solid rgba(22,163,74,.18);border-radius:18px;padding:12px;box-shadow:0 10px 24px rgba(15,23,42,.08)}
.sem-firstaid-request-summary span{display:block;font-weight:900;color:#166534;font-size:.88rem}.sem-firstaid-request-summary strong{font-size:1.9rem;color:#0f172a;line-height:1}
.sem-firstaid-request-grid{display:grid;gap:12px;margin-top:12px}.sem-firstaid-request-card{background:#fff;border:1px solid #dbeafe;border-left:7px solid #16a34a;border-radius:22px;box-shadow:0 12px 26px rgba(15,23,42,.1);overflow:hidden}.sem-firstaid-request-card>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px}.sem-firstaid-request-card>summary::-webkit-details-marker{display:none}.sem-fa-card-main strong,.sem-fa-card-main small{display:block}.sem-fa-card-main strong{font-size:1.25rem;line-height:1.05;color:#0f172a}.sem-fa-card-main small{font-weight:900;color:#64748b;margin-top:4px}.sem-firstaid-request-body{padding:0 14px 14px}.sem-fa-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:9px;margin:4px 0 10px}.sem-fa-meta-grid p,.sem-fa-message{margin:0;background:#f8fafc;border:1px solid #e2e8f0;border-radius:15px;padding:10px}.sem-fa-meta-grid span,.sem-fa-message span{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:900;color:#64748b}.sem-fa-meta-grid strong{display:block;color:#0f172a;font-size:.94rem;margin-top:3px}.sem-fa-message p{margin:4px 0 0;line-height:1.35}.sem-firstaid-request-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:10px}.sem-no-report-box{margin-top:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:16px;padding:10px}.sem-no-report-box>summary{cursor:pointer;font-weight:900;color:#9a3412}.sem-no-report-box form{display:grid;gap:8px;margin-top:8px}.sem-no-report-box label{display:grid;gap:5px;font-weight:800}.sem-no-report-box select{width:100%}
@media(max-width:640px){.sem-firstaid-request-summary{grid-template-columns:1fr}.sem-firstaid-request-card>summary{align-items:flex-start}.sem-firstaid-request-actions,.sem-firstaid-request-actions .sem-inline-form{display:grid;width:100%}.sem-firstaid-request-actions .sem-btn{width:100%;text-align:center}.sem-fa-meta-grid{grid-template-columns:1fr}}
.sem-search-results{margin-top:14px}.sem-search-result-row{border:1px solid rgba(203,213,225,.9);border-radius:18px;background:#fff;margin:8px 0;padding:10px}.sem-search-result-row .sem-person span{display:block;color:#64748b;margin-top:2px}
/* v2.0.93 live-event check-in search fallback */
.sem-search-modal-card{max-width:980px; width:min(96vw,980px);}
.sem-live-search-input{font-size:1.15rem; padding:14px 16px; width:100%; box-sizing:border-box; margin:8px 0 12px;}
.sem-live-checkin-results{max-height:62vh; overflow:auto; padding-right:4px;}
.sem-live-checkin-results .sem-attendee-row{gap:10px;}
