:root{font-family:Segoe UI,Trebuchet MS,sans-serif;color:#e8f4ff;background:radial-gradient(circle at top left,rgba(58,160,255,.3),transparent 34%),radial-gradient(circle at 78% 18%,rgba(23,118,255,.26),transparent 24%),linear-gradient(145deg,#02152d,#073867 42%,#0a5e92);line-height:1.5;font-weight:400}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px}button,input{font:inherit}.page-shell{width:min(1180px,calc(100vw - 32px));margin:0 auto;padding:24px 0 64px}.topbar,.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 32px}.topbar-brand{display:flex;align-items:center;gap:16px}.topbar-brand strong{display:block;font-size:1.15rem}.brand-logo{width:82px;height:auto;filter:drop-shadow(0 20px 35px rgba(0,0,0,.2))}.brand-logo.small{width:64px}.eyebrow{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;background:#ffffff1a;border:1px solid rgba(173,223,255,.18);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.login-button,.primary-link,.submit-button,.close-button,.text-button,.action-button,.segment-button{border:0;cursor:pointer;transition:transform .16s ease,opacity .16s ease,background .16s ease}.login-button,.close-button,.text-button,.action-button,.segment-button{color:#eff8ff;padding:12px 18px;border-radius:999px;background:#ffffff14;border:1px solid rgba(190,231,255,.22)}.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;min-height:66vh}.hero-copy h1,.admin-header h1,.staff-panel h1{margin:18px 0 16px;font-size:clamp(3rem,8vw,5.8rem);line-height:.94;letter-spacing:-.05em}.admin-header h1,.staff-panel h1{font-size:clamp(2.3rem,5vw,4rem)}.hero-copy p,.admin-header p,.staff-panel p,.status-box span,.status-row small,.status-row span{max-width:58ch;color:#e8f4ffd6;font-size:1.1rem}.hero-actions{margin-top:28px}.primary-link,.submit-button{color:#072540;background:linear-gradient(120deg,#7fd1ff,#d5f0ff);font-weight:700;padding:14px 22px;border-radius:999px}.secondary-action{background:#ffffff14;color:#eff8ff;border:1px solid rgba(190,231,255,.22)}.login-button:hover,.primary-link:hover,.submit-button:hover,.close-button:hover,.text-button:hover,.action-button:hover,.segment-button:hover{transform:translateY(-2px)}.hero-art{position:relative;min-height:460px}.shape{position:absolute;border-radius:30px;filter:drop-shadow(0 24px 40px rgba(0,13,34,.26));animation:float 6s ease-in-out infinite}.shape-blue{top:6%;right:50%;bottom:30%;left:4%;background:linear-gradient(180deg,#65d7ff,#258fff)}.shape-orange{top:12%;right:42%;bottom:24%;left:16%;background:linear-gradient(180deg,#ff971f,#ff6527);animation-delay:-.8s}.shape-pink{top:18%;right:31%;bottom:16%;left:28%;background:linear-gradient(180deg,#ed1875,#b21269);animation-delay:-1.6s}.shape-red{top:26%;right:18%;bottom:8%;left:42%;background:linear-gradient(180deg,#ff3d40,#d70f27);animation-delay:-2.2s}.shape-green{top:38%;right:58%;bottom:2%;left:0;background:linear-gradient(180deg,#0f8b74,#12b492);animation-delay:-2.8s}.info-grid,.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.info-card,.panel-card,.stat-card,.status-card{background:#ffffff14;border:1px solid rgba(185,232,255,.12);border-radius:28px;padding:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.info-card h2,.panel-heading h2,.staff-panel h2{margin:0 0 12px;font-size:1.35rem}.info-card p,.panel-card p,.stat-card span{margin:0;color:#e8f4ffc2}.admin-shell{padding-top:8px}.admin-header{display:flex;align-items:end;justify-content:space-between;gap:20px}.admin-stats{min-width:220px}.stat-card strong{display:block;font-size:3rem;margin-bottom:8px}.admin-grid{grid-template-columns:380px 1fr;align-items:start}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.compact-heading{margin-bottom:8px}.participant-form,.login-form{display:grid;gap:16px}.participant-form label,.login-form label{display:grid;gap:8px;font-weight:600}.participant-form input,.login-form input,.inline-field-row input{width:100%;border-radius:16px;border:1px solid rgba(187,229,255,.18);background:#ffffff14;color:#eff8ff;padding:14px 16px;outline:none}.participant-form input::placeholder,.login-form input::placeholder,.inline-field-row input::placeholder{color:#e8f4ff80}.toggle-field{grid-template-columns:auto 1fr;align-items:center}.toggle-field input{width:18px;height:18px;margin:0}.turns-stack{display:grid;gap:12px;padding:18px;border-radius:22px;background:#ffffff0a;border:1px solid rgba(185,232,255,.1)}.inline-field-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.small-action-button{padding:12px 16px}.participants-table{display:grid;gap:14px}.participant-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-radius:22px;background:#ffffff0d;border:1px solid rgba(185,232,255,.1)}.participant-row strong,.participant-row span,.participant-row small{display:block}.participant-row span,.participant-row small{color:#e8f4ffbd}.row-actions{display:flex;gap:10px}.action-button{padding:10px 14px}.action-button.danger{background:#ff4f4f24;border-color:#ff7b7b38}.checkin-filters{display:flex!important;flex-wrap:wrap;gap:12px!important;margin-bottom:16px}.checkin-filters label{flex:1 1 220px}.checkin-table{width:100%;border-collapse:collapse;font-size:14px}.checkin-table th{text-align:left;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8898aa;border-bottom:1px solid rgba(255,255,255,.07);white-space:nowrap}.checkin-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.checkin-table tbody tr:hover td{background:#ffffff08}.checkin-table .action-button{padding:6px 12px;font-size:12px}.feedback-message,.error-message,.permission-note,.empty-state{margin:0;padding:14px 16px;border-radius:18px}.feedback-message,.permission-note,.empty-state{background:#7fd1ff1a;color:#e8f4ffcc}.error-message{background:#ff5b5b24;color:#ffd0d0}.error-message.compact{padding:12px 14px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020a189e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;place-items:center;padding:20px}.login-modal{width:min(480px,100%);border-radius:30px;background:linear-gradient(180deg,#061c39f5,#08385ff0);border:1px solid rgba(181,230,255,.18);box-shadow:0 28px 60px #00112857;padding:28px}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.modal-header h2{margin:14px 0 0;font-size:2rem}.staff-panel{margin-top:18px}.active-event-banner{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;margin-bottom:20px}.active-event-banner strong{font-size:1.1rem;color:#fff}.active-event-banner span{font-size:.85rem;opacity:.6}.event-select,.participant-form select{width:100%;background:#1a2d42;border:1px solid rgba(187,229,255,.22);border-radius:10px;color:#eff8ff;padding:10px 12px;font-size:1rem;font-weight:600;outline:none;cursor:pointer;color-scheme:dark}.event-select option,.participant-form select option{background-color:#1a2d42;color:#eff8ff}.segmented-control{display:flex;gap:12px;margin:28px 0 18px;flex-wrap:wrap}.segment-button.active{color:#072540;background:linear-gradient(120deg,#7fd1ff,#d5f0ff);font-weight:700}.status-card{display:grid;gap:18px;margin-top:20px;padding:22px}.status-row{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.status-row strong{display:block;font-size:1.35rem;margin-bottom:6px}.status-row span,.status-row small,.status-box span{display:block;color:#e8f4ffbd}.status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.status-box{padding:18px;border-radius:20px;background:#ffffff0d;border:1px solid rgba(185,232,255,.1)}.status-box strong{display:block;margin:8px 0 12px;font-size:1.1rem}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:.78rem;font-weight:700;width:fit-content}.status-pill.done{background:#51e0a22e;color:#c8ffe6;border:1px solid rgba(123,239,190,.22)}.status-pill.pending{background:#ffd26629;color:#ffeab3;border:1px solid rgba(255,224,138,.22)}.checkin-actions{display:flex;gap:12px;flex-wrap:wrap}.admin-tabs{display:flex;gap:12px;margin:28px 0 18px;flex-wrap:wrap}.tab-button{padding:12px 18px;border-radius:999px;border:1px solid rgba(190,231,255,.22);background:#ffffff0f;color:#eff8ff;cursor:pointer}.tab-button.active{color:#072540;background:linear-gradient(120deg,#7fd1ff,#d5f0ff);font-weight:700}.admin-stats.two-cards,.admin-stats.three-cards{display:grid;gap:14px}.admin-stats.two-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-stats.three-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.staff-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}.staff-layout.expanded{grid-template-columns:1.2fr .8fr;align-items:start}.staff-side-column{display:grid;gap:18px}.staff-panel.secondary h2{margin:16px 0 14px;font-size:1.6rem}.dropdown-wrap{position:relative}.dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:190px;display:grid;gap:6px;padding:8px;border-radius:18px;background:#072241f5;border:1px solid rgba(181,230,255,.18);box-shadow:0 20px 40px #00112847;z-index:5}.dropdown-item{width:100%;text-align:left;color:#eff8ff;padding:10px 12px;border-radius:12px;border:0;background:#ffffff0f;cursor:pointer}.dropdown-item:hover{background:#7fd1ff29}.dropdown-item:disabled{opacity:.7;cursor:wait}.qr-modal{max-width:560px}.qr-viewer{display:grid;justify-items:center;gap:14px;text-align:center}.qr-viewer p{margin:0}.qr-image{width:min(280px,100%);height:auto;padding:18px;border-radius:22px;background:#fff}.qr-lookup-stack{display:grid;gap:16px}.camera-actions{display:flex}.camera-scanner-card{display:grid;gap:14px;padding:18px;border-radius:24px;background:#ffffff0d;border:1px solid rgba(185,232,255,.1)}.camera-preview-shell{position:relative;overflow:hidden;border-radius:24px;background:#030f20db;min-height:280px}.camera-preview-shell video{width:100%!important;height:auto!important;min-height:280px;object-fit:cover;display:block;border-radius:0}.camera-preview-shell>div{border-radius:24px;overflow:hidden}#qr-scanner-region__scan_region{background:transparent!important}#qr-scanner-region__dashboard{display:none!important}.camera-canvas{display:none}.scanner-status{margin:0;color:#e8f4ffc7}.turn-modal{max-width:560px}.turn-modal-content{display:grid;gap:14px}.turn-modal-content strong{font-size:1.35rem}.turn-modal-content span,.turn-modal-content p{margin:0;color:#e8f4ffc7}.turn-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}.turn-choice{width:100%}.camera-upload-box{display:grid;gap:10px}.camera-upload-label{display:grid;gap:12px;justify-items:center;padding:16px;border-radius:20px;border:1px dashed rgba(181,230,255,.28);background:#ffffff0a;color:#eff8ff;font-weight:600;text-align:center}.camera-upload-label input{width:100%;color:#e8f4ffcc}.participant-form select:disabled{opacity:.45;cursor:not-allowed}.radio-field{display:grid;gap:8px;font-weight:600}.radio-group{display:flex;flex-wrap:wrap;gap:8px}.radio-opt{padding:10px 18px;border-radius:999px;border:1px solid rgba(190,231,255,.22);background:#ffffff14;color:#eff8ff;cursor:pointer;font-size:.88rem;font-weight:500;transition:transform .16s ease,background .16s ease,opacity .16s ease}.radio-opt:hover:not(:disabled){transform:translateY(-2px)}.radio-opt.active{background:linear-gradient(120deg,#7fd1ff,#d5f0ff);color:#072540;font-weight:700;border-color:transparent}.radio-opt:disabled{opacity:.45;cursor:not-allowed}.attendance-modal{width:min(900px,calc(100vw - 40px));max-height:calc(100vh - 80px);overflow-y:auto}.attendance-event-date{margin:-10px 0 18px;color:#e8f4ffbd;font-size:.95rem}.attendance-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:20px}.attendance-stats .stat-card{text-align:center}.attendance-stats .stat-card strong{font-size:2rem;margin-bottom:4px}.attendance-table-wrap{overflow-x:auto;border-radius:18px;border:1px solid rgba(185,232,255,.12);margin-bottom:18px}.attendance-table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:480px}.attendance-table th{padding:14px 16px;text-align:left;background:#ffffff12;color:#e8f4ffbd;font-weight:600;letter-spacing:.04em;font-size:.82rem;text-transform:uppercase;white-space:nowrap}.attendance-table td{padding:12px 16px;border-top:1px solid rgba(185,232,255,.07);vertical-align:middle}.attendance-table tr:hover td{background:#ffffff08}.attendance-badge{margin-left:8px;font-size:.7rem;vertical-align:middle}.attendance-export-actions{display:flex;gap:12px;flex-wrap:wrap;padding-top:4px}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@media (max-width: 980px){.hero-layout,.info-grid,.admin-grid,.admin-header,.staff-layout,.staff-layout.expanded,.status-grid,.admin-stats.three-cards{grid-template-columns:1fr}.admin-header{display:grid}.hero-copy h1{max-width:none}.hero-art{min-height:320px}}@media (max-width: 720px){.page-shell{width:min(100vw - 24px,1180px)}.topbar,.admin-topbar,.modal-header,.participant-row,.status-row,.inline-field-row{flex-direction:column;align-items:flex-start}.row-actions,.checkin-actions,.camera-actions,.turn-choice-grid{width:100%}.row-actions .action-button,.checkin-actions .submit-button,.segment-button,.small-action-button,.turn-choice-grid .turn-choice{flex:1;width:100%}.inline-field-row{display:grid;grid-template-columns:1fr}.brand-logo{width:72px}.hero-copy h1,.admin-header h1,.staff-panel h1{font-size:clamp(2.6rem,15vw,4rem)}.camera-target{width:min(72vw,240px)}}
