:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#edf3fb}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:linear-gradient(135deg,#eff7ff,#f6f4ff 52%,#eefaf7);min-height:100vh;display:grid;place-items:center;overflow:hidden;padding:34px 20px;position:relative}.ambient{border-radius:50%;filter:blur(2px);opacity:.7;position:absolute}.ambient-one{width:420px;height:420px;background:#d9edff;top:-250px;left:-110px}.ambient-two{width:400px;height:400px;background:#e5dfff;bottom:-250px;right:-130px}.attendance-card{width:min(100%,680px);background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.9);border-radius:24px;box-shadow:0 28px 80px rgba(43,62,93,.16);padding:34px;position:relative;z-index:1}.event-header{border-bottom:1px solid #e9edf4;display:flex;gap:14px;padding-bottom:25px}.brand-mark{align-items:center;background:linear-gradient(145deg,#3458db,#6f48df);border-radius:13px;box-shadow:0 8px 18px rgba(75,77,195,.28);color:white;display:flex;flex:0 0 44px;font-size:1.25rem;font-weight:800;height:44px;justify-content:center}.event-name,.event-subtitle,.section-heading p{color:#667085;margin:0}.event-name{font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.event-header h1{color:#172033;font-size:1.55rem;letter-spacing:-.035em;line-height:1.15;margin:3px 0 5px}.event-subtitle{font-size:.92rem}.landing-card{max-width:460px;text-align:center}.landing-card .brand-mark{margin:0 auto 18px}.landing-card h1{color:#172033;font-size:1.65rem;letter-spacing:-.035em;margin:7px 0 10px}.landing-card p:last-child{color:#667085;line-height:1.55;margin:0}.form-area,.role-step{padding-top:25px}.section-heading h2{color:#1b2740;font-size:1.36rem;letter-spacing:-.025em;margin:5px 0 7px}.section-heading p{font-size:.94rem;line-height:1.45}.step-label{color:#536fe5;display:block;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.role-grid{display:grid;grid-gap:12px;gap:12px;margin-top:23px}.role-card{align-items:center;background:#fff;border:1px solid #e1e7f0;border-radius:15px;color:#1e293b;cursor:pointer;display:flex;gap:14px;padding:17px;text-align:left;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.role-card:hover{border-color:#7e98ec;box-shadow:0 10px 20px rgba(65,91,160,.1);transform:translateY(-1px)}.role-card>span:nth-child(2){flex:1 1}.role-card small,.role-card strong{display:block}.role-card strong{font-size:1rem;margin-bottom:3px}.role-card small{color:#69758a}.role-card b{color:#7786a6;font-size:1.2rem;font-weight:400}.role-icon{align-items:center;background:#e8edff;border-radius:11px;color:#475dd2;display:flex;font-size:.86rem;font-weight:800;height:38px;justify-content:center;width:38px}.role-icon.visitor{background:#e2f7ef;color:#19825a}.journey-bar{align-items:center;color:#7a869d;display:flex;font-size:.8rem;font-weight:700;justify-content:space-between;padding-top:18px}.back-button,.text-button{background:transparent;border:0;color:#4058cd;cursor:pointer;font-weight:750;padding:0}.back-button:before{content:"← "}.back-button:hover,.text-button:hover{color:#283cab;text-decoration:underline}.form-stack{display:grid;grid-gap:15px;gap:15px;margin-top:21px}.form-stack label{color:#344054;display:grid;font-size:.88rem;font-weight:750;grid-gap:7px;gap:7px}.field-label{display:block}.input-wrap{align-items:center;border:1px solid #ced7e5;border-radius:10px;display:flex;gap:8px;padding:0 12px;transition:border-color .15s ease,box-shadow .15s ease}.input-wrap:focus-within{border-color:#5e77e6;box-shadow:0 0 0 4px #e7ebff}.input-wrap span{color:#7f8da4;font-size:1.15rem}.form-stack input,.form-stack select{background:white;border:1px solid #ced7e5;border-radius:10px;color:#172033;outline:none;padding:11px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.input-wrap input{border:0;box-shadow:none;padding:11px 0}.form-stack input:focus,.form-stack select:focus{border-color:#5e77e6;box-shadow:0 0 0 4px #e7ebff}.input-wrap input:focus{box-shadow:none}.form-stack input::placeholder{color:#a0aabc}.member-directory{border:1px solid #e1e7f0;border-radius:13px;overflow:hidden}.directory-header{background:#f8faff;color:#6b778d;display:flex;font-size:.77rem;font-weight:750;justify-content:space-between;padding:10px 13px}.member-list{background:white;max-height:260px;overflow-y:auto}.member-row{align-items:center;background:white;border:0;border-bottom:1px solid #edf0f5;color:#1c2740;cursor:pointer;display:flex;gap:11px;padding:11px 13px;text-align:left;transition:background .15s ease;width:100%}.member-row:last-child{border-bottom:0}.member-row:hover{background:#f6f8ff}.member-row.is-selected{background:#eef2ff}.member-avatar{align-items:center;background:#e8ecff;border-radius:50%;color:#4a5ac8;display:inline-flex;flex:0 0 34px;font-size:.8rem;font-weight:800;height:34px;justify-content:center;width:34px}.member-details{display:grid;flex:1 1;grid-gap:2px;gap:2px}.member-details strong{font-size:.92rem}.member-details small,.selected-member small{color:#748198;font-size:.78rem}.select-dot{border:1.5px solid #b8c2d2;border-radius:50%;height:17px;width:17px}.is-selected .select-dot{background:#536fe5;border:4px solid #dce4ff}.empty-list{color:#758199;font-size:.9rem;margin:0;padding:20px;text-align:center}.selected-member{align-items:center;background:#eef2ff;border:1px solid #dce4ff;border-radius:12px;display:flex;gap:10px;padding:11px}.selected-member>span:nth-child(2){display:grid;flex:1 1;grid-gap:2px;gap:2px}.selected-member strong{font-size:.9rem}.selected-member button{background:transparent;border:0;color:#4058cd;cursor:pointer;font-size:.8rem;font-weight:750}.primary,.secondary{border:0;border-radius:10px;cursor:pointer;font-weight:800;padding:13px 16px;transition:transform .15s ease,box-shadow .15s ease}.primary{background:linear-gradient(100deg,#4059d4,#7058d8);box-shadow:0 9px 18px rgba(66,81,195,.25);color:white}.primary:hover:not(:disabled){box-shadow:0 12px 22px rgba(66,81,195,.32);transform:translateY(-1px)}.secondary{background:#e9edff;color:#354bb5}.primary:disabled,.secondary:disabled{cursor:wait;opacity:.58}.support-row{align-items:center;color:#778399;display:flex;font-size:.84rem;gap:6px;justify-content:center;padding-top:18px}.new-member-panel{background:#f8faff;border:1px solid #e2e8f2;border-radius:15px;margin-top:18px;padding:18px}.new-member-panel h3{color:#223050;font-size:1.05rem;margin:4px 0 0}.two-columns{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.form-stack small{color:#8792a6;font-weight:500}.error{background:#fff1f0;border:1px solid #ffd7d4;border-radius:9px;color:#b42318;font-size:.88rem;margin:17px 0 0;padding:11px 12px}.state-panel{color:#68758b;padding:56px 12px 25px;text-align:center}.state-panel h2{color:#24314b;font-size:1.4rem;margin:14px 0 7px}.state-panel p{margin:0}.spinner{animation:spin .9s linear infinite;border-radius:50%;border:3px solid #e6eaff;border-top-color:#5069dc;height:30px;margin:auto;width:30px}.state-icon{align-items:center;background:#fff2ef;border-radius:50%;color:#d7574d;display:flex;font-size:1.2rem;font-weight:900;height:46px;justify-content:center;margin:auto;width:46px}.state-panel.success .state-icon{background:#e1f8ee;color:#16855b}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:560px){.app-shell{align-items:start;padding:16px 12px}.attendance-card{border-radius:18px;padding:24px 19px}.event-header{padding-bottom:20px}.two-columns{grid-template-columns:1fr}.role-card{padding:15px}.member-list{max-height:235px}}.admin-shell{background:#f5f7fb;color:#1c2740;min-height:100vh}.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100vh}.admin-sidebar{background:#202f5b;color:#dce6ff;display:flex;flex-direction:column;gap:22px;padding:28px 22px}.sidebar-brand{align-items:center;color:white;display:flex;gap:10px}.sidebar-brand .brand-mark{box-shadow:none;flex-basis:38px;height:38px;width:38px}.sidebar-brand small,.sidebar-brand strong{display:block}.sidebar-brand small{color:#aebfe9;font-size:.75rem;margin-top:2px}.admin-sidebar>p{color:#b7c4e5;font-size:.88rem;line-height:1.55;margin:0}.sidebar-logout{background:transparent;border:1px solid #52699f;border-radius:8px;color:#e4ebff;cursor:pointer;margin-top:auto;padding:9px;text-align:left}.admin-content{padding:38px}.admin-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:26px}.admin-header h1{font-size:1.75rem;letter-spacing:-.035em;margin:4px 0 0}.qr-link{background:#edf1ff;border-radius:9px;color:#4058cd;font-size:.86rem;font-weight:800;padding:10px 13px;text-decoration:none}.admin-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel{background:white;border:1px solid #e5eaf2;border-radius:15px;box-shadow:0 5px 16px rgba(31,48,92,.04);padding:20px}.admin-panel.wide{grid-column:1/-1}.admin-panel h2{font-size:1rem;margin:0 0 16px}.compact-form{align-items:center;display:flex;flex-wrap:wrap;gap:9px}.compact-form input,.member-search,.select-label select,.slide-rule select{border:1px solid #d5ddea;border-radius:8px;min-width:0;outline:none;padding:9px 10px}.compact-form input:focus,.member-search:focus,.select-label select:focus,.slide-rule select:focus{border-color:#627adf;box-shadow:0 0 0 3px #e9edff}.compact-form>input{flex:1 1 145px}.compact-form button{padding:9px 12px}.member-form{margin-bottom:12px}.select-label{color:#536078;display:grid;font-size:.82rem;font-weight:750;grid-gap:6px;gap:6px;margin-top:14px}.select-label select{background:white;width:100%}.helper{color:#728097;font-size:.82rem;line-height:1.5;margin:11px 0 0}.helper code{background:#f2f5fb;border-radius:4px;color:#4058cd;padding:2px 4px}.member-search{margin:4px 0 8px;width:100%}.admin-member-list{border-top:1px solid #eef1f6;max-height:170px;overflow:auto}.admin-member-list>div{align-items:center;border-bottom:1px solid #f1f3f7;display:flex;font-size:.84rem;justify-content:space-between;padding:9px 1px}.admin-member-list span{color:#77849a;font-size:.78rem}.slide-form{margin-top:14px}.slide-form input[name=powerpointSlideTag]{flex:2 1 260px}.checkbox-label{align-items:center;color:#556278;display:flex;font-size:.82rem;gap:6px;white-space:nowrap}.checkbox-label input{accent-color:#536fe5}.slide-rule-list{display:grid;grid-gap:8px;gap:8px}.slide-rule{align-items:center;border:1px solid #e6eaf1;border-radius:10px;display:grid;grid-gap:12px;gap:12px;grid-template-columns:35px minmax(0,1fr) minmax(160px,230px);padding:10px}.slide-number{align-items:center;background:#edf1ff;border-radius:7px;color:#445dce;display:flex;font-size:.82rem;font-weight:800;height:30px;justify-content:center;width:30px}.slide-rule small,.slide-rule strong{display:block}.slide-rule small{color:#748198;font-size:.77rem;margin-top:3px}.notice{background:#e8f8ef;border:1px solid #c5efd6;border-radius:9px;color:#19764e;font-size:.88rem;margin:0 0 18px;padding:11px 13px}.admin-login{background:white;border:1px solid #e5eaf2;border-radius:18px;box-shadow:0 18px 50px rgba(31,48,92,.12);margin:0 auto;max-width:420px;padding:32px;position:relative;top:16vh}.admin-login .brand-mark{margin-bottom:17px}.admin-login h1{font-size:1.6rem;letter-spacing:-.035em;margin:5px 0 8px}.admin-login>p:not(.event-name){color:#6b778e;line-height:1.5;margin:0}@media (max-width:850px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{display:none}.admin-content{padding:22px 16px}.admin-grid{grid-template-columns:1fr}.admin-panel.wide{grid-column:auto}.admin-header{align-items:flex-start;gap:13px}.slide-rule{grid-template-columns:35px minmax(0,1fr)}.slide-rule select{grid-column:1/-1;width:100%}}.event-action-list{border-top:1px solid #eef1f6;display:grid;margin-top:15px;max-height:210px;overflow-y:auto}.event-action{align-items:center;border-bottom:1px solid #eef1f6;display:flex;gap:8px;justify-content:space-between;padding:9px 0}.event-action.active{background:#f6f8ff}.event-select{background:transparent;border:0;cursor:pointer;display:grid;flex:1 1;grid-gap:3px;gap:3px;padding:0 4px;text-align:left}.event-select small{color:#768399;font-size:.74rem}.small-button{background:#eff3ff;border:0;border-radius:6px;color:#4058cd;cursor:pointer;font-size:.72rem;font-weight:800;margin-left:5px;padding:6px 7px}.small-button:hover{background:#e1e8ff}.small-button.delete-button{background:#fff0ef;color:#b42318}.small-button.delete-button:hover{background:#ffe2df}.qr-overlay{align-items:center;background:rgba(16,27,49,.56);display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:20}.qr-dialog{background:white;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.28);max-width:430px;padding:27px;position:relative;text-align:center;width:100%}.qr-dialog h2{font-size:1.35rem;margin:5px 0 7px}.qr-dialog>p{color:#6c7890;font-size:.9rem;margin:0 0 16px}.qr-dialog label{color:#506078;display:grid;font-size:.78rem;font-weight:750;grid-gap:6px;gap:6px;text-align:left}.qr-dialog input{border:1px solid #d5ddea;border-radius:8px;padding:9px;width:100%}.qr-dialog img{display:block;margin:16px auto 10px;max-width:260px;width:100%}.qr-dialog code{background:#f4f6fb;color:#4b5ec8;display:block;font-size:.69rem;margin:11px 0;overflow-wrap:anywhere;padding:8px;text-align:left}.qr-dialog .primary{width:100%}.dialog-close{background:transparent;border:0;color:#67758b;cursor:pointer;font-size:1.55rem;line-height:1;position:absolute;right:15px;top:13px}.qr-loading{color:#738198;padding:90px 0}.compact-form input[aria-invalid=true]{border-color:#d92d20;box-shadow:0 0 0 3px #fff0ee}.field-errors{color:#b42318;font-size:.8rem;line-height:1.45;margin:-3px 0 10px;padding-left:19px}.field-errors li+li{margin-top:3px}.inline-field{color:#5c6981;display:grid;font-size:.7rem;font-weight:750;grid-gap:4px;gap:4px}.inline-field input{font-size:.82rem}.event-details-form,.qr-window-form{border-top:1px solid #eef1f6;margin-top:14px;padding-top:13px}.schedule-heading{align-items:center;color:#31415f;display:flex;font-size:.86rem;justify-content:space-between;margin-bottom:10px}.weekday-options{display:flex;flex-wrap:wrap;gap:7px}.weekday-options label{background:#f5f7ff;border:1px solid #dce4fa;border-radius:7px;color:#4d5c77;cursor:pointer;font-size:.76rem;font-weight:750;padding:7px 8px}.weekday-options input{accent-color:#536fe5;margin:0 3px 0 0}.schedule-times{align-items:end;display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}.schedule-times input{border:1px solid #d5ddea;border-radius:8px;padding:9px 10px}.schedule-times button{padding:9px 12px}.live-qr-card{align-items:center;background:#f5f7ff;border:1px solid #dce4fa;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-top:14px;padding:12px}.live-qr-card strong{color:#344cae;display:block;font-size:.86rem}.live-qr-card p{color:#61708b;font-size:.77rem;line-height:1.4;margin:3px 0 6px}.live-qr-card code{color:#4058cd;font-size:.75rem}.live-qr-card>div:last-child{align-items:center;display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}.live-qr-card .small-button{margin-left:0}.deck-key-card{align-items:center;background:#f7f9fd;border:1px solid #e1e7f0;border-radius:9px;display:flex;gap:9px;margin-top:10px;padding:9px 10px}.deck-key-card span{color:#61708b;font-size:.76rem;font-weight:800}.deck-key-card code{color:#354fca;flex:1 1;font-size:.78rem;overflow-wrap:anywhere}.deck-key-card .small-button{margin-left:0}.summary-cards{display:flex;flex-wrap:wrap;gap:12px}.summary-card{background:#f6f8ff;border:1px solid #e0e6ff;border-radius:10px;min-width:185px;padding:13px}.summary-card small,.summary-card span{color:#6d7b94;display:block;font-size:.76rem}.summary-card strong{color:#354fca;display:block;font-size:1.65rem;line-height:1.1;margin:7px 0 2px}.summary-card p{color:#526079;font-size:.78rem;margin:9px 0 0}:root{--bni-red:#d71937;--bni-red-dark:#a70d25;--bni-red-soft:#fff0f3;--bni-ink:#252229;--bni-muted:#736d76;--bni-line:#eadde0;background:#f8f6f6;color:var(--bni-ink)}.bni-logo{display:block;height:auto;object-fit:contain;width:auto}.app-shell{background:linear-gradient(135deg,#fff8f8,#fff 45%,#f8f3f4)}.ambient{opacity:.56}.ambient-one{background:#ffe0e5}.ambient-two{background:#f6d9de}.attendance-card{border:1px solid #f3e1e4;box-shadow:0 26px 72px rgba(103,24,39,.12)}.event-header{align-items:center;border-bottom-color:var(--bni-line);gap:17px}.checkin-logo{max-height:42px;max-width:118px}.event-name,.step-label{color:var(--bni-red)}.event-header h1,.landing-card h1,.section-heading h2{color:var(--bni-ink)}.landing-logo{margin:0 auto 20px;max-width:154px}.landing-card .event-name{margin-bottom:6px}.role-card{border-color:#eadfe1}.role-card:hover{border-color:#e58b9a;box-shadow:0 12px 24px rgba(154,25,47,.1)}.role-icon{background:#fff0f3;color:var(--bni-red)}.role-icon.visitor{background:#fce4e8;color:var(--bni-red-dark)}.back-button,.selected-member button,.text-button{color:var(--bni-red)}.back-button:hover,.text-button:hover{color:var(--bni-red-dark)}.form-stack input:focus,.form-stack select:focus,.input-wrap:focus-within{border-color:var(--bni-red);box-shadow:0 0 0 4px #ffe8ec}.member-directory{border-color:#eadfe1}.directory-header{background:#fff8f8}.member-row:hover{background:#fff7f8}.member-row.is-selected,.selected-member{background:#fff0f3;border-color:#f5cbd2}.member-avatar{background:#fde6e9;color:var(--bni-red-dark)}.is-selected .select-dot{background:var(--bni-red);border-color:#f8d5da}.primary{background:linear-gradient(110deg,var(--bni-red),#ed3f57);box-shadow:0 10px 20px rgba(180,22,49,.25)}.primary:hover:not(:disabled){box-shadow:0 14px 24px rgba(180,22,49,.3)}.secondary{background:#fff0f3;color:var(--bni-red-dark)}.new-member-panel{background:#fff9fa;border-color:#f2dde1}.spinner{border-top-color:var(--bni-red)}.admin-shell{background:#faf7f7;color:var(--bni-ink)}.admin-layout{grid-template-columns:272px minmax(0,1fr)}.admin-sidebar{background:#fff;border-right:1px solid #eadde0;color:var(--bni-ink);padding:30px 24px}.sidebar-brand{align-items:flex-start;gap:13px}.sidebar-logo{margin-top:2px;max-width:104px}.sidebar-brand strong{color:var(--bni-ink);font-size:1.05rem}.admin-sidebar>p,.sidebar-brand small{color:var(--bni-muted)}.admin-sidebar>p{border-top:1px solid var(--bni-line);padding-top:18px}.sidebar-logout{border-color:#e9bdc5;color:var(--bni-red-dark)}.sidebar-logout:hover{background:var(--bni-red-soft)}.admin-content{padding:42px}.admin-header h1{color:var(--bni-ink)}.qr-link{background:var(--bni-red);color:white;box-shadow:0 8px 16px rgba(180,22,49,.16)}.admin-panel{border-color:#eee2e4;box-shadow:0 8px 20px rgba(80,24,35,.05)}.admin-panel h2{color:var(--bni-ink)}.compact-form input:focus,.member-search:focus,.select-label select:focus,.slide-rule select:focus{border-color:var(--bni-red);box-shadow:0 0 0 3px #ffe8ec}.deck-key-card code,.helper code,.live-qr-card code{color:var(--bni-red-dark)}.checkbox-label input,.weekday-options input{accent-color:var(--bni-red)}.slide-number,.small-button{background:#fff0f3;color:var(--bni-red-dark)}.small-button:hover{background:#ffdfe5}.deck-key-card,.live-qr-card{background:#fff8f8;border-color:#f1dfe2}.live-qr-card strong{color:var(--bni-red-dark)}.summary-card{background:#fff8f8;border-color:#f0dfe2}.summary-card strong{color:var(--bni-red)}@media (max-width:850px){.admin-content{padding:24px 16px}.admin-header{align-items:flex-start;flex-direction:column;margin-bottom:20px}.qr-link{width:100%;text-align:center}.live-qr-card{align-items:flex-start;flex-direction:column}.live-qr-card>div:last-child{justify-content:flex-start}.deck-key-card{align-items:flex-start;flex-wrap:wrap}.deck-key-card code{flex-basis:100%}}@media (max-width:560px){.attendance-card{padding:24px 18px}.event-header{align-items:flex-start;flex-direction:column;gap:12px}.checkin-logo{max-height:34px;max-width:100px}.event-header h1{font-size:1.38rem}.role-card{padding:15px 13px}.schedule-heading,.support-row{align-items:flex-start;flex-direction:column}.schedule-heading{gap:9px}.weekday-options{gap:5px}.weekday-options label{padding:7px 6px}.schedule-times{align-items:stretch;flex-direction:column}.schedule-times .inline-field,.schedule-times button{width:100%}.event-action{align-items:flex-start;flex-direction:column}.event-action>div{display:flex;flex-wrap:wrap;gap:5px}.event-action .small-button{margin-left:0}.summary-card{min-width:100%}}