:root{--primary:#9f174d;--primary-dark:#761039;--orange:#f59d1f;--navy:#16274a;--cream:#fff8ef;--soft:#f8f4f1;--white:#fff;--text:#25252a;--muted:#74747d;--border:#e9e2df;--success:#178755;--danger:#c63d49;--shadow:0 25px 70px #2d1c1f1a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:#fff;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit}.container{width:min(1180px,100% - 40px);margin:0 auto}.topbar{z-index:100;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;border-bottom:1px solid #eee;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;min-height:76px;display:flex}.brand{align-items:center;gap:14px;text-decoration:none;display:flex}.brand-mark{background:linear-gradient(135deg, var(--primary), #cf2469);color:#fff;letter-spacing:-.04em;border-radius:14px;place-items:center;width:45px;height:45px;font-weight:900;display:grid}.brand strong,.brand small{display:block}.brand strong{color:var(--navy);font-size:15px}.brand small{color:var(--muted);margin-top:2px}.topbar-badge{background:var(--cream);color:var(--primary);border-radius:999px;padding:9px 16px;font-size:12px;font-weight:800}.hero{background:radial-gradient(circle at 90% 10%,#f59d1f29,#0000 33%),radial-gradient(circle at 10% 95%,#9f174d1f,#0000 35%),#fffaf5;overflow:hidden}.hero-grid{grid-template-columns:1.2fr .8fr;align-items:center;gap:70px;min-height:600px;padding-top:70px;padding-bottom:70px;display:grid}.eyebrow,.section-tag{color:var(--primary);letter-spacing:.15em;font-size:12px;font-weight:900;display:inline-flex}.hero h1{color:var(--navy);letter-spacing:-.07em;margin:14px 0 20px;font-size:clamp(60px,7vw,100px);line-height:.92}.hero h1 span{color:var(--primary);display:block}.hero-lead{color:#5e5d65;max-width:620px;font-size:18px;line-height:1.75}.event-cards{gap:12px;margin-top:32px;display:grid}.event-info{background:#ffffffbf;border:1px solid #9f174d14;border-radius:17px;align-items:center;gap:15px;max-width:540px;padding:14px 16px;display:flex}.event-icon{background:var(--primary);color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:11px;font-weight:900;display:grid}.event-info small,.event-info strong{display:block}.event-info small{color:var(--muted);margin-bottom:2px}.event-info strong{color:var(--navy)}.location-link{color:var(--primary);margin-top:22px;font-weight:800;text-decoration:none;display:inline-block}.hero-art{place-items:center;min-height:440px;display:grid;position:relative}.hero-circle{border-radius:50%;position:absolute}.circle-one{background:linear-gradient(135deg, var(--primary), #d52368);width:380px;height:380px}.circle-two{border:40px solid #f59d1fc7;width:255px;height:255px;bottom:10px;right:-50px}.hero-card{z-index:2;width:260px;min-height:325px;box-shadow:var(--shadow);background:#fffffff0;border-radius:30px;flex-direction:column;justify-content:center;padding:42px 30px;display:flex;position:relative;transform:rotate(-4deg)}.hero-card span,.hero-card strong{color:var(--navy);letter-spacing:-.05em;display:block}.hero-card span{font-size:32px;font-weight:300}.hero-card strong{color:var(--orange);font-size:52px;line-height:1}.registration{background:#fff;padding:100px 0}.registration-grid{grid-template-columns:310px 1fr;align-items:start;gap:55px;display:grid}.registration-sidebar{position:sticky;top:110px}.registration-sidebar h2{color:var(--navy);letter-spacing:-.04em;margin:15px 0;font-size:34px;line-height:1.12}.registration-sidebar>p{color:var(--muted);line-height:1.7}.steps{gap:22px;margin-top:35px;display:grid}.step{align-items:center;gap:14px;display:flex}.step>span{background:var(--cream);width:38px;height:38px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:900;display:grid}.step strong,.step small{display:block}.step strong{color:var(--navy);font-size:14px}.step small{color:var(--muted);margin-top:3px}.form-card{border:1px solid var(--border);box-shadow:var(--shadow);border-radius:28px;padding:8px 44px 44px}.form-section{border-bottom:1px solid var(--border);padding:42px 0}.form-heading{gap:16px;margin-bottom:28px;display:flex}.form-heading>span{background:var(--navy);color:#fff;border-radius:15px;flex-shrink:0;place-items:center;width:48px;height:48px;font-size:12px;font-weight:900;display:grid}.form-heading h3,.form-heading p{margin:0}.form-heading h3{color:var(--navy);font-size:21px}.form-heading p{color:var(--muted);margin-top:4px;font-size:13px}.field-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.field{margin-top:20px}.field-grid .field{margin-top:0}.field.full{grid-column:1/-1}.field label{color:#3e3d44;margin-bottom:9px;font-size:13px;font-weight:800;display:block}.field label em{color:var(--primary);font-style:normal}.optional{color:var(--muted);margin-left:6px;font-weight:400}input,textarea,select{width:100%;color:var(--text);font:inherit;background:#fff;border:1px solid #ddd6d2;border-radius:12px;outline:none;padding:14px 15px;transition:all .2s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 4px #9f174d14}textarea{resize:vertical}.choice-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.choice-card{cursor:pointer}.choice-card input{display:none}.choice-card span{border:1px solid var(--border);border-radius:12px;padding:13px 15px;font-size:13px;font-weight:700;transition:all .2s;display:block}.choice-card input:checked+span{color:var(--primary);border-color:var(--primary);background:#9f174d0f}.other-field{display:none}.other-field.active{display:block}.attendance-note{background:var(--cream);color:#6c4b2b;border-radius:12px;margin-bottom:18px;padding:14px 16px;font-size:13px;line-height:1.6}.counter-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.counter-card{border:1px solid var(--border);border-radius:15px;padding:18px}.counter-card span{color:var(--navy);margin-bottom:10px;font-size:13px;font-weight:800;display:block}.counter-card input{font-size:20px;font-weight:800}.yes-no{grid-template-columns:1fr 1fr;gap:12px;display:grid}.yes-no label{cursor:pointer;margin:0}.yes-no input{display:none}.yes-no span{text-align:center;border:1px solid var(--border);border-radius:12px;padding:15px;display:block}.yes-no input:checked+span{border-color:var(--primary);background:var(--primary);color:#fff}#school-fields{margin-top:22px;display:none}#school-fields.active{display:block}.field-error{color:var(--danger);margin-top:7px;font-size:12px;font-weight:700;display:block}.alert-error{color:var(--danger);background:#c63d490f;border:1px solid #c63d4933;border-radius:14px;margin-top:32px;padding:17px 20px}.alert-error strong,.alert-error p{margin:0;display:block}.alert-error p{margin-top:4px;font-size:13px}.submit-area{justify-content:space-between;align-items:center;gap:25px;padding-top:36px;display:flex}.submit-area strong{color:var(--navy)}.submit-area p{color:var(--muted);margin:5px 0 0;font-size:13px}.submit-button{cursor:pointer;background:linear-gradient(135deg, var(--primary), #c92262);color:#fff;border:0;border-radius:13px;min-width:190px;padding:15px 22px;font-size:14px;font-weight:900;text-decoration:none;box-shadow:0 14px 30px #9f174d38}.submit-button span{margin-left:10px}.success-page{background:var(--cream);place-items:center;min-height:calc(100vh - 150px);padding:80px 20px;display:grid}.success-card{text-align:center;width:min(650px,100%);box-shadow:var(--shadow);background:#fff;border-radius:30px;padding:50px}.success-icon{width:70px;height:70px;color:var(--success);background:#1787551a;border-radius:50%;place-items:center;margin:0 auto 25px;font-size:32px;font-weight:900;display:grid}.success-card h1{color:var(--navy);letter-spacing:-.04em;margin:12px 0 10px;font-size:37px}.success-intro{color:var(--muted)}.registration-code{background:var(--navy);color:#fff;border-radius:16px;margin:30px 0;padding:20px}.registration-code small,.registration-code strong{display:block}.registration-code small{opacity:.65}.registration-code strong{letter-spacing:.08em;margin-top:6px;font-size:27px}.success-details{text-align:left;grid-template-columns:1fr 1fr;gap:10px;display:grid}.success-details div{border:1px solid var(--border);border-radius:13px;padding:15px}.success-details small,.success-details strong{display:block}.success-details small{color:var(--muted);margin-bottom:5px}.status-box{background:var(--cream);border-radius:15px;margin:25px 0;padding:20px}.status-box span,.status-box strong{display:block}.status-box span{color:var(--muted);font-size:12px}.status-box strong{color:var(--primary);margin:5px 0 8px}.status-box p{color:#666;margin:0;font-size:13px;line-height:1.6}.success-map{min-width:auto;display:inline-block}.footer{text-align:center;background:var(--navy);color:#fff;padding:40px 0}.footer p{opacity:.6;margin:6px 0 0}@media (width<=900px){.hero-grid{grid-template-columns:1fr}.hero-art{display:none}.registration-grid{grid-template-columns:1fr}.registration-sidebar{position:static}.steps{display:none}}@media (width<=640px){.container{width:min(100% - 28px,1180px)}.topbar-badge{display:none}.hero-grid{min-height:auto;padding-top:55px;padding-bottom:55px}.hero h1{font-size:60px}.registration{padding:60px 0}.form-card{border-radius:20px;padding:4px 20px 25px}.field-grid,.choice-grid,.counter-grid,.success-details{grid-template-columns:1fr}.submit-area{flex-direction:column;align-items:stretch}.submit-button{width:100%}.success-card{padding:32px 22px}}.admin-login-body{background:#fff9f4;min-height:100vh;margin:0}.admin-login-shell{grid-template-columns:1fr 520px;min-height:100vh;display:grid}.admin-login-brand{color:#fff;background:radial-gradient(circle at 80% 20%,#f59d1f33,#0000 30%),linear-gradient(145deg,#151f3a,#1d3158);flex-direction:column;justify-content:center;padding:80px;display:flex}.admin-brand-logo{background:var(--primary);border-radius:20px;place-items:center;width:65px;height:65px;margin-bottom:45px;font-size:20px;font-weight:900;display:grid}.admin-login-eyebrow{color:#ffbb51;letter-spacing:.16em;font-size:12px;font-weight:900}.admin-login-brand h1{letter-spacing:-.06em;max-width:700px;margin:16px 0;font-size:clamp(52px,6vw,90px);line-height:.96}.admin-login-brand h1 span{color:#ffb03d;display:block}.admin-login-brand p{color:#ffffffad;max-width:600px;font-size:17px;line-height:1.7}.admin-login-panel{place-items:center;padding:40px;display:grid}.admin-login-card{width:100%;max-width:390px}.admin-login-card h2{color:var(--navy);letter-spacing:-.04em;margin:13px 0 5px;font-size:35px}.admin-login-card>p{color:var(--muted);margin-top:0}.remember-row{cursor:pointer;color:var(--muted);align-items:center;gap:9px;margin:18px 0;font-size:13px;display:flex}.remember-row input{width:auto}.admin-login-button{cursor:pointer;background:var(--primary);color:#fff;border:0;border-radius:12px;width:100%;padding:15px 18px;font-weight:900}.admin-body{background:#f6f7fa;margin:0}.admin-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.admin-sidebar{background:var(--navy);color:#fff;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.admin-sidebar-brand{align-items:center;gap:12px;display:flex}.admin-sidebar-brand>span{background:var(--primary);border-radius:13px;place-items:center;width:45px;height:45px;font-weight:900;display:grid}.admin-sidebar-brand strong,.admin-sidebar-brand small{display:block}.admin-sidebar-brand small{color:#ffffff80;margin-top:2px}.admin-nav{gap:8px;margin-top:55px;display:grid}.admin-nav a{color:#ffffffad;border-radius:11px;align-items:center;gap:11px;padding:13px 14px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.admin-nav a span{opacity:.55;font-size:10px}.admin-nav a:hover,.admin-nav a.active{color:#fff;background:#ffffff17}.admin-sidebar-footer{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:20px}.admin-sidebar-footer small,.admin-sidebar-footer strong{display:block}.admin-sidebar-footer small{color:#ffffff80;font-size:11px}.admin-sidebar-footer strong{margin-top:4px;font-size:13px}.admin-sidebar-footer button{cursor:pointer;color:#ffb8c9;background:0 0;border:0;margin-top:13px;padding:0;font-weight:800}.admin-main{min-width:0;padding:45px}.admin-page-header{justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px;display:flex}.admin-page-header h1{color:var(--navy);letter-spacing:-.04em;margin:8px 0 5px;font-size:36px}.admin-page-header p{color:var(--muted);margin:0}.admin-primary-button{cursor:pointer;background:var(--primary);color:#fff;border:0;border-radius:11px;padding:13px 18px;font-weight:800;text-decoration:none;display:inline-block}.full-width{width:100%;margin-top:12px}.admin-stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.admin-stat-card{background:#fff;border:1px solid #eceef2;border-radius:17px;padding:24px}.admin-stat-card span,.admin-stat-card strong,.admin-stat-card small{display:block}.admin-stat-card span{color:var(--muted);font-size:12px;font-weight:700}.admin-stat-card strong{color:var(--navy);letter-spacing:-.05em;margin:7px 0;font-size:38px}.admin-stat-card small{color:#9a9ca5}.admin-content-card{background:#fff;border:1px solid #eceef2;border-radius:18px;padding:26px}.admin-card-header{justify-content:space-between;gap:15px;margin-bottom:22px;display:flex}.admin-card-header h2,.admin-card-header p{margin:0}.admin-card-header h2{color:var(--navy);font-size:19px}.admin-card-header p{color:var(--muted);margin-top:5px;font-size:13px}.admin-card-header a{color:var(--primary);font-size:13px;font-weight:800;text-decoration:none}.admin-table-wrap{width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%}.admin-table th{text-align:left;color:#999ba5;letter-spacing:.05em;text-transform:uppercase;border-bottom:1px solid #ebecef;padding:11px 12px;font-size:11px}.admin-table td{color:#545761;border-bottom:1px solid #f0f1f3;padding:15px 12px;font-size:13px}.admin-table td strong{color:var(--navy)}.table-action{color:var(--primary);font-weight:800;text-decoration:none}.status-badge{border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;display:inline-flex}.status-pending{color:#9d6a00;background:#fff3d8}.status-confirmed{color:#148258;background:#e6f7ef}.status-cancelled{color:#b83243;background:#fde9eb}.status-attended{color:#4257b2;background:#e8edff}.admin-filter-bar{grid-template-columns:1fr 190px auto;gap:10px;margin-bottom:22px;display:grid}.admin-filter-bar button{cursor:pointer;background:var(--navy);color:#fff;border:0;border-radius:11px;padding:0 20px;font-weight:800}.admin-detail-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.detail-list{gap:17px;display:grid}.detail-list div{border-bottom:1px solid #eef0f2;padding-bottom:14px}.detail-list span,.detail-list strong{display:block}.detail-list span{color:var(--muted);margin-bottom:5px;font-size:11px}.detail-list strong{color:var(--navy);line-height:1.5}.guest-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:25px;display:grid}.guest-summary div{text-align:center;background:#f8f9fb;border-radius:13px;padding:18px}.guest-summary strong,.guest-summary span{display:block}.guest-summary strong{color:var(--navy);font-size:26px}.guest-summary span{color:var(--muted);margin-top:3px;font-size:11px}.action-card select{width:100%}.qr-ready-note{color:#167650;background:#e9f8f0;border-radius:12px;margin-top:20px;padding:16px}.qr-ready-note p{margin:5px 0 0;font-size:12px;line-height:1.6}.admin-success-message{color:#167650;background:#e7f7ef;border-radius:11px;margin-bottom:20px;padding:14px 17px;font-size:13px;font-weight:800}.admin-back-link{color:var(--primary);font-size:13px;font-weight:800;text-decoration:none}.admin-pagination{margin-top:20px}@media (width<=1000px){.admin-login-shell{grid-template-columns:1fr}.admin-login-brand{display:none}.admin-stat-grid{grid-template-columns:repeat(2,1fr)}.admin-detail-grid{grid-template-columns:1fr}}@media (width<=700px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static}.admin-main{padding:25px 16px}.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-page-header{flex-direction:column;align-items:flex-start}.admin-filter-bar{grid-template-columns:1fr}.admin-filter-bar button{min-height:45px}}.pass-page{background:radial-gradient(circle at 100% 0,#f59d1f26,#0000 30%),#fff8f1;place-items:center;min-height:calc(100vh - 150px);padding:70px 20px;display:grid}.pass-shell{background:#fff;border-radius:30px;width:min(520px,100%);padding:34px;box-shadow:0 30px 80px #1c264121}.pass-header{align-items:center;gap:15px;display:flex}.pass-brand{background:var(--primary);color:#fff;border-radius:16px;place-items:center;width:55px;height:55px;font-weight:900;display:grid}.pass-header span{color:var(--primary);letter-spacing:.13em;font-size:10px;font-weight:900}.pass-header h1{color:var(--navy);margin:3px 0 0;font-size:27px}.pass-status{color:#158255;justify-content:center;align-items:center;gap:7px;margin-top:25px;font-size:11px;font-weight:900;display:flex}.pass-status-dot{background:#18a469;border-radius:50%;width:8px;height:8px}.pass-qr{justify-content:center;margin:20px auto;display:flex}.pass-qr img{width:min(330px,100%);height:auto}.pass-instruction{text-align:center;max-width:330px;color:var(--muted);margin:0 auto 24px;font-size:13px;line-height:1.6}.pass-code{text-align:center;background:var(--navy);color:#fff;border-radius:14px;padding:17px}.pass-code span,.pass-code strong{display:block}.pass-code span{opacity:.55;letter-spacing:.12em;font-size:9px}.pass-code strong{letter-spacing:.07em;margin-top:5px;font-size:23px}.pass-details{grid-template-columns:1fr 1fr;gap:10px;margin-top:20px;display:grid}.pass-details>div{border:1px solid var(--border);border-radius:12px;padding:14px}.pass-details span,.pass-details strong{display:block}.pass-details span{color:var(--muted);margin-bottom:4px;font-size:10px}.pass-details strong{color:var(--navy);font-size:13px;line-height:1.4}.pass-full{grid-column:1/-1}.pass-footer{text-align:center;border-top:1px dashed var(--border);color:var(--muted);margin-top:20px;padding-top:18px;font-size:11px}.checkin-result-header{margin-bottom:25px}.checkin-result-header h2{color:var(--navy);margin:10px 0 0;font-size:30px}@media (width<=600px){.pass-shell{padding:25px 18px}.pass-details{grid-template-columns:1fr}.pass-full{grid-column:auto}}.checkin-layout{grid-template-columns:.85fr 1.15fr;align-items:start;gap:20px;display:grid}.checkin-profile{border-bottom:1px solid #eef0f2;align-items:center;gap:16px;margin-bottom:25px;padding-bottom:25px;display:flex}.checkin-profile-icon{background:var(--primary);color:#fff;border-radius:18px;flex-shrink:0;place-items:center;width:60px;height:60px;font-size:23px;font-weight:900;display:grid}.checkin-profile span{color:var(--primary);letter-spacing:.14em;font-size:9px;font-weight:900}.checkin-profile h2{color:var(--navy);margin:3px 0;font-size:23px}.checkin-profile p{color:var(--muted);margin:0;font-size:13px}.checkin-details{margin-top:10px}.expected-box{background:#f7f8fb;border-radius:14px;margin-bottom:25px;padding:18px}.expected-box>span{color:var(--muted);letter-spacing:.1em;margin-bottom:8px;font-size:9px;font-weight:900;display:block}.expected-box>div{color:#777a84;font-size:13px}.expected-box strong{color:var(--navy);margin-right:3px;font-size:20px}.actual-guests-title{margin-bottom:5px}.actual-guests-title strong,.actual-guests-title span{display:block}.actual-guests-title strong{color:var(--navy)}.actual-guests-title span{color:var(--muted);margin-top:3px;font-size:11px}.guest-input-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.guest-input-grid input{color:var(--navy);font-size:21px;font-weight:800}.checkin-button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#137e54,#1ba96d);border:0;border-radius:13px;width:100%;margin-top:23px;padding:16px 20px;font-size:14px;font-weight:900;box-shadow:0 12px 28px #137e5433}.checkin-button span{margin-right:7px}.checkin-error-box{color:#a92c3d;background:#fff1f2;border:1px solid #f2c8cd;border-radius:12px;margin-bottom:20px;padding:16px 18px}.checkin-error-box strong,.checkin-error-box p{margin:0;display:block}.checkin-error-box p{margin-top:4px;font-size:12px}.checkin-success-state{text-align:center;padding:20px 0 28px}.checkin-success-icon{color:#168359;background:#e7f8ef;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 20px;font-size:31px;font-weight:900;display:grid}.checkin-success-state h2{color:var(--navy);margin:9px 0 6px;font-size:27px}.checkin-success-state p{color:var(--muted);margin:0}.checkin-time-box{text-align:center;background:var(--navy);color:#fff;border-radius:13px;margin-bottom:22px;padding:18px}.checkin-time-box span,.checkin-time-box strong{display:block}.checkin-time-box span{opacity:.55;letter-spacing:.12em;font-size:9px;font-weight:900}.checkin-time-box strong{margin-top:6px;font-size:17px}.checkin-invalid{text-align:center;padding:50px 20px}.checkin-invalid>div{color:#bd7410;background:#fff2df;border-radius:50%;place-items:center;width:65px;height:65px;margin:0 auto 20px;font-size:28px;font-weight:900;display:grid}.checkin-invalid h2{color:var(--navy)}.checkin-invalid p{color:var(--muted);line-height:1.7}@media (width<=900px){.checkin-layout{grid-template-columns:1fr}}@media (width<=600px){.guest-input-grid{grid-template-columns:1fr 1fr 1fr}}.scanner-user-badge{background:#fff;border:1px solid #e8eaf0;border-radius:12px;padding:11px 16px}.scanner-user-badge span,.scanner-user-badge strong{display:block}.scanner-user-badge span{color:#999ba5;letter-spacing:.1em;font-size:9px;font-weight:900}.scanner-user-badge strong{color:var(--navy);margin-top:3px;font-size:13px}.scanner-grid{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);align-items:start;gap:20px;display:grid}.scanner-main-card{min-width:0}.scanner-card-heading{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.scanner-card-heading>div{align-items:center;gap:8px;display:flex}.scanner-card-heading strong{color:var(--navy)}.scanner-card-heading>span{color:#747782;background:#f0f2f6;border-radius:999px;padding:6px 10px;font-size:10px;font-weight:900}.scanner-live-dot{background:#19a66b;border-radius:50%;width:9px;height:9px}.qr-reader{background:#101b34;border-radius:20px;place-items:center;min-height:460px;display:grid;position:relative;overflow:hidden}.qr-reader video{object-fit:cover;width:100%!important;height:100%!important}.scanner-placeholder{text-align:center;color:#fff;max-width:330px;padding:40px 20px}.scanner-placeholder-icon{border:2px solid #ffffff4d;border-radius:20px;place-items:center;width:80px;height:80px;margin:0 auto 20px;font-size:23px;font-weight:900;display:grid}.scanner-placeholder h2{margin:0;font-size:24px}.scanner-placeholder p{color:#ffffff8c;margin:8px 0 0;line-height:1.6}.scanner-message{color:#727580;background:#f5f6f8;border-radius:11px;margin-top:14px;padding:12px 15px;font-size:12px}.scanner-message.success{color:#147b54;background:#e8f7ef}.scanner-message.error{color:#ad3444;background:#fff0f1}.scanner-actions{grid-template-columns:1fr auto;gap:10px;margin-top:15px;display:grid}.scanner-start-button,.scanner-stop-button{cursor:pointer;border:0;border-radius:11px;min-height:48px;padding:12px 18px;font-weight:900}.scanner-start-button{background:var(--primary);color:#fff}.scanner-stop-button{color:var(--navy);background:#e9ebef}.scanner-start-button:disabled,.scanner-stop-button:disabled{cursor:not-allowed;opacity:.45}.scanner-side{gap:16px;display:grid}.scanner-steps{gap:20px;display:grid}.scanner-steps>div{gap:13px;display:flex}.scanner-steps>div>span{width:37px;height:37px;color:var(--primary);background:#f4f5f8;border-radius:11px;flex-shrink:0;place-items:center;font-size:10px;font-weight:900;display:grid}.scanner-steps section{min-width:0}.scanner-steps strong,.scanner-steps p{margin:0;display:block}.scanner-steps strong{color:var(--navy);font-size:13px}.scanner-steps p{color:var(--muted);margin-top:4px;font-size:11px;line-height:1.55}.scanner-tip{background:#fff9ed}.scanner-tip strong{color:#986200}.scanner-tip p{color:#806d49;margin:6px 0 0;font-size:12px;line-height:1.6}@media (width<=950px){.scanner-grid{grid-template-columns:1fr}}@media (width<=600px){.qr-reader{min-height:340px}.scanner-actions{grid-template-columns:1fr}}.scanner-divider{align-items:center;gap:15px;margin:28px 0;display:flex}.scanner-divider:before,.scanner-divider:after{content:"";background:#e7e9ee;flex:1;height:1px}.scanner-divider span{color:#9a9ca6;font-size:10px;font-weight:900}.manual-checkin{background:#fafbfc;border:1px solid #e8eaf0;border-radius:15px;padding:20px}.manual-checkin>div>strong{color:var(--navy)}.manual-checkin>div>p{color:var(--muted);margin:4px 0 17px;font-size:12px}.manual-checkin-form{grid-template-columns:1fr auto;gap:10px;display:grid}.manual-checkin-form input{text-transform:uppercase}.manual-checkin-form button{cursor:pointer;background:var(--navy);color:#fff;border:0;border-radius:11px;min-height:48px;padding:0 20px;font-weight:900}.manual-checkin-error{color:#b23343;margin-top:10px;font-size:12px;font-weight:700}.scan-next-button{text-align:center;background:var(--primary);color:#fff;border-radius:13px;width:100%;margin-top:25px;padding:16px 20px;font-weight:900;text-decoration:none;display:block}@media (width<=600px){.manual-checkin-form{grid-template-columns:1fr}}.dashboard-header-actions{align-items:center;gap:10px;display:flex}.live-indicator{color:#168158;background:#e7f8ef;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:10px;font-weight:900;display:flex}.live-indicator span{background:#19a66b;border-radius:50%;width:8px;height:8px}.admin-secondary-button{color:var(--navy);background:#fff;border:1px solid #dfe2e8;border-radius:11px;padding:13px 17px;font-size:13px;font-weight:800;text-decoration:none}.dashboard-section-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin:10px 0 18px;display:flex}.dashboard-section-heading h2,.dashboard-section-heading p{margin:0}.dashboard-section-heading h2{color:var(--navy);font-size:20px}.dashboard-section-heading p{color:var(--muted);margin-top:4px;font-size:12px}.dashboard-section-heading>span{color:#989aa3;font-size:11px}.attendance-heading{margin-top:35px}.dashboard-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.dashboard-stat-card{background:#fff;border:1px solid #e8eaf0;border-radius:17px;padding:22px}.dashboard-stat-card.highlight{background:linear-gradient(145deg,#172a50,#213d70);border-color:#0000}.dashboard-stat-top{justify-content:space-between;align-items:center;display:flex}.dashboard-stat-top>span{color:#8d909b;letter-spacing:.08em;font-size:9px;font-weight:900}.dashboard-stat-card.highlight .dashboard-stat-top>span{color:#ffffff8c}.dashboard-stat-icon{width:31px;height:31px;color:var(--navy);background:#f1f3f6;border-radius:9px;place-items:center;font-size:11px;font-weight:900;display:grid}.dashboard-stat-icon.pending{color:#a66b00;background:#fff2d8}.dashboard-stat-icon.confirmed{color:#168158;background:#e8f7ef}.dashboard-stat-icon.attended{color:#fff;background:#ffffff21}.dashboard-stat-card>strong{color:var(--navy);letter-spacing:-.05em;margin:15px 0 5px;font-size:39px;display:block}.dashboard-stat-card.highlight>strong{color:#fff}.dashboard-stat-card>small{color:#9698a1}.dashboard-stat-card.highlight>small{color:#ffffff8c}.attendance-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.attendance-stat-card{background:#fff;border:1px solid #e8eaf0;border-radius:17px;padding:22px}.attendance-stat-card.actual{background:#edf9f3;border-color:#d3efe2}.attendance-stat-card.rate{background:#fff8ea;border-color:#f3e5bd}.attendance-stat-card span,.attendance-stat-card strong,.attendance-stat-card small{display:block}.attendance-stat-card>span{color:#777a84;font-size:12px;font-weight:800}.attendance-stat-card>strong{color:var(--navy);margin:8px 0 4px;font-size:35px}.attendance-stat-card>strong span{display:inline}.attendance-stat-card>small{color:#9a9ca5}.dashboard-columns{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;gap:18px;margin-top:30px;display:grid}.recent-checkins{display:grid}.recent-checkin-item{border-bottom:1px solid #eef0f3;grid-template-columns:45px minmax(0,1fr) 70px 125px;align-items:center;gap:12px;padding:14px 0;display:grid}.recent-checkin-item:last-child{border-bottom:0}.recent-checkin-avatar{background:var(--primary);color:#fff;border-radius:12px;place-items:center;width:42px;height:42px;font-weight:900;display:grid}.recent-checkin-main strong,.recent-checkin-main span,.recent-checkin-guests strong,.recent-checkin-guests span,.recent-checkin-time strong,.recent-checkin-time span{display:block}.recent-checkin-main strong{color:var(--navy);font-size:13px}.recent-checkin-main span{color:var(--muted);margin-top:3px;font-size:10px}.recent-checkin-guests{text-align:center}.recent-checkin-guests strong{color:var(--navy);font-size:16px}.recent-checkin-guests span{color:var(--muted);font-size:9px}.recent-checkin-time{text-align:right}.recent-checkin-time strong{color:var(--navy);font-size:12px}.recent-checkin-time span{color:var(--muted);margin-top:3px;font-size:9px}.compact-rsvp-list{display:grid}.compact-rsvp-item{border-bottom:1px solid #eef0f3;justify-content:space-between;align-items:center;gap:10px;padding:14px 0;text-decoration:none;display:flex}.compact-rsvp-item:last-child{border-bottom:0}.compact-rsvp-item div strong,.compact-rsvp-item div span{display:block}.compact-rsvp-item div strong{color:var(--navy);font-size:12px}.compact-rsvp-item div span{color:var(--muted);margin-top:3px;font-size:9px}.dashboard-empty-state{text-align:center;color:var(--muted);padding:35px 15px}.dashboard-empty-state strong,.dashboard-empty-state p{margin:0;display:block}.dashboard-empty-state strong{color:var(--navy)}.dashboard-empty-state p{margin-top:5px;font-size:11px}@media (width<=1100px){.dashboard-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-columns{grid-template-columns:1fr}}@media (width<=750px){.dashboard-header-actions{flex-wrap:wrap;width:100%}.attendance-stat-grid{grid-template-columns:1fr}}@media (width<=550px){.dashboard-stat-grid{grid-template-columns:1fr}.recent-checkin-item{grid-template-columns:42px minmax(0,1fr)}.recent-checkin-guests,.recent-checkin-time{text-align:left;grid-column:2}}
