:root{color:#102341;--primary:#22a7df;--secondary:#12284f;--accent:#f2bd3c;--background:#f4f8fb;font-synthesis:none;background:#f4f8fb;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{background:var(--background);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button,a{touch-action:manipulation}.brand{letter-spacing:-.12em;color:var(--secondary);font:700 2.4rem Space Grotesk}.brand span{background:var(--primary);color:#fff;letter-spacing:-.08em;place-items:center;margin-right:.13em;padding:.08em .16em;display:inline-grid}.brand.small{font-size:1.55rem}.eyebrow{letter-spacing:.14em;color:#6b7c93;margin:0 0 .5rem;font-size:.78rem;font-weight:700}.lead{color:#637189;font-size:1.1rem}.primary{background:var(--primary)!important;color:#fff!important;border:0!important;font-weight:700!important}.ghost{box-shadow:none!important;background:0 0!important;border:1px solid #d7e0e8!important}.landing{text-align:center;place-content:center;min-height:100vh;padding:3rem;display:grid}.landing h1{letter-spacing:-.05em;max-width:900px;margin:1rem auto .5rem;font:700 clamp(2.5rem,6vw,5rem) Space Grotesk}.route-grid{grid-template-columns:repeat(3,minmax(210px,1fr));gap:1rem;margin-top:3rem;display:grid}.route-grid a{text-align:left;color:inherit;background:#fff;border:1px solid #dfe7ed;border-radius:22px;flex-direction:column;gap:.7rem;padding:1.8rem;text-decoration:none;transition:all .2s;display:flex;box-shadow:0 12px 40px #1934510c}.route-grid a:hover{border-color:var(--primary);transform:translateY(-4px)}.route-grid svg{color:var(--primary);width:32px;height:32px}.route-grid strong{font:700 1.3rem Space Grotesk}.route-grid span{color:#718096}.kiosk{background:radial-gradient(circle at 90% 10%,#dff4fc 0,transparent 30%),var(--background);min-height:100vh;padding:2rem 4vw}.kiosk>header{justify-content:space-between;align-items:center;gap:2rem;display:flex}.kiosk>header p{color:#718096}.kiosk button{cursor:pointer}.registration-stage{text-align:center;flex:1;place-content:center;display:grid}.scan-orb{aspect-ratio:1;background:#fff;border:1px solid #dcecf4;border-radius:50%;place-items:center;width:min(240px,38vw);margin:0 auto 2rem;display:grid;position:relative;box-shadow:0 20px 70px #0c426622}.scan-orb:before{content:"";border:2px solid var(--primary);opacity:.2;border-radius:50%;position:absolute;inset:-12px}.scan-orb svg{width:90px;height:90px;color:var(--primary)}.registration-stage h1{letter-spacing:-.05em;margin:.5rem;font:700 clamp(2.4rem,5vw,5rem) Space Grotesk}.registration-stage .ok h1{color:#16875b}.registration-stage .error h1{color:#d85050}.registration-stage .ok .scan-orb{background:#e9fbf3}.registration-stage .error .scan-orb{background:#fff0f0}.connect-button,.registration-stage button{background:var(--secondary);color:#fff;border:0;border-radius:14px;align-items:center;gap:.6rem;padding:.9rem 1.3rem;font-weight:700;display:inline-flex}.status-dot{align-items:center;gap:.5rem;font-weight:600;display:flex}.status-dot:before{content:"";background:#e75a5a;border-radius:50%;width:10px;height:10px}.status-dot.on:before{background:#25b978;box-shadow:0 0 0 6px #25b97820}.registration details{color:#75849a;position:fixed;bottom:1rem;right:1rem}.registration details form{background:#fff;border-radius:12px;padding:.5rem;display:flex;box-shadow:0 8px 30px #1233}.registration details input{text-transform:uppercase;border:0;width:110px;padding:.7rem}.registration details button{background:var(--secondary);color:#fff;border:0;border-radius:8px}.identity-card{text-align:center;background:#fff;border-radius:28px;width:min(680px,92vw);margin:8vh auto;padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 22px 80px #11334f18}.identity-card>svg{width:48px;height:48px;color:var(--primary)}.identity-card h1,.game-menu h1{letter-spacing:-.05em;margin:.4rem;font:700 clamp(2.2rem,5vw,4.5rem) Space Grotesk}.search-box{border:2px solid #dbe5ec;border-radius:16px;align-items:center;gap:.8rem;margin:2rem 0 .7rem;padding:0 1rem;display:flex}.search-box:focus-within{border-color:var(--primary)}.search-box input{border:0;outline:0;width:100%;padding:1.1rem 0;font-size:1.1rem}.matches{gap:.5rem;display:grid}.matches button{text-align:left;background:#f9fbfc;border:1px solid #e1e8ed;border-radius:14px;justify-content:space-between;align-items:center;padding:1rem;display:flex}.matches button:hover{border-color:var(--primary)}.matches span{flex-direction:column;display:flex}.matches small{color:#76859b}.matches b{color:#74849a}.link-button{color:var(--secondary);background:0 0;border:0;align-items:center;gap:.5rem;margin-top:1.5rem;font-weight:700;display:inline-flex}.guest-form{gap:1rem;margin-top:2rem;display:grid}.guest-form label{text-align:left;gap:.5rem;font-weight:600;display:grid}.guest-form input{border:2px solid #dbe5ec;border-radius:14px;padding:1rem}.guest-form button{border-radius:14px;padding:1rem}.warning{color:#bb3b3b;background:#fff0f0;border-radius:10px;padding:.8rem}.game-menu{text-align:center;max-width:1100px;margin:13vh auto}.game-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;display:grid}.game-grid button{text-align:left;background:#fff;border:1px solid #dbe5ec;border-radius:24px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-height:210px;padding:2rem;display:flex;box-shadow:0 16px 50px #16324a10}.game-grid button:hover{border-color:var(--primary);transform:translateY(-4px)}.game-grid svg{width:48px;height:48px;color:var(--primary)}.game-grid span{flex-direction:column;display:flex}.game-grid strong{font:700 1.35rem Space Grotesk}.game-grid small{color:#75849a;margin-top:.3rem}.game-screen header button{border-radius:12px;align-items:center;padding:.7rem 1rem;display:flex}.play-card{background:#fff;border-radius:28px;max-width:900px;margin:7vh auto;padding:clamp(1.5rem,5vw,3.5rem);box-shadow:0 20px 70px #16324a15}.play-card h2{font:700 clamp(1.8rem,4vw,3rem)/1.15 Space Grotesk}.progress{background:#e9eff3;border-radius:99px;height:8px;overflow:hidden}.progress span{background:var(--primary);height:100%;display:block}.counter{color:#6d7e93;font-weight:600}.answers{grid-template-columns:1fr 1fr;gap:.8rem;display:grid}.answers button{text-align:left;background:#f9fbfc;border:1px solid #dce5eb;border-radius:16px;align-items:center;gap:1rem;padding:1.2rem;display:flex}.answers button:hover{border-color:var(--primary);background:#eef9fd}.answers b{min-width:34px;height:34px;color:var(--primary);background:#fff;border-radius:10px;place-items:center;display:grid}.memory-grid{grid-template-columns:repeat(4,1fr);gap:.7rem;max-width:620px;margin:auto;display:grid}.memory-grid button{aspect-ratio:1;background:var(--secondary);color:#fff;border:0;border-radius:18px;font-size:2.8rem;font-weight:700}.memory-grid button.revealed{color:var(--secondary);background:#e8f7fd;transform:rotateY(180deg)}.reflex-pad{width:min(900px,92vw);min-height:65vh;color:var(--secondary);background:#fff;border:0;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:1rem;margin:5vh auto;display:flex;box-shadow:0 20px 70px #16324a15}.reflex-pad strong,.reflex-pad span{font:700 clamp(2.5rem,7vw,6rem) Space Grotesk}.reflex-pad svg{width:80px;height:80px}.reflex-pad.wait{background:#efbb42}.reflex-pad.go{color:#fff;background:#28b977}.result-screen{place-items:center;display:grid}.result-card{text-align:center;background:#fff;border-radius:28px;width:min(700px,92vw);padding:3rem;box-shadow:0 20px 70px #16324a18}.result-card>svg{width:70px;height:70px;color:var(--accent)}.result-card h1{margin:.5rem;font:700 5rem Space Grotesk}.result-card h1 small{font-size:1.2rem}.podium-list,.ranking{gap:.4rem;margin:2rem 0;display:grid}.podium-list div,.ranking>div{text-align:left;background:#f4f8fa;border-radius:12px;grid-template-columns:45px 1fr auto;align-items:center;padding:.8rem 1rem;display:grid}.podium-list b,.ranking b{color:var(--primary)}.button-row{justify-content:center;gap:.7rem;display:flex}.button-row button{background:#fff;border:1px solid #dce5eb;border-radius:12px;padding:1rem 1.4rem;font-weight:700}.panel-login{text-align:center;place-content:center;gap:1.5rem;min-height:100vh;display:grid}.panel-login form{background:#fff;border-radius:24px;gap:1rem;width:min(440px,90vw);padding:2.5rem;display:grid;box-shadow:0 20px 70px #16324a18}.panel-login form>svg{color:var(--primary);width:48px;height:48px;margin:auto}.panel-login h1{margin:0;font:700 2.2rem Space Grotesk}.panel-login input,.panel-login button{border:1px solid #dce5eb;border-radius:12px;padding:1rem}.dashboard{min-height:100vh;padding:2.5rem 4vw}.dashboard>header{justify-content:space-between;align-items:center;display:flex}.dashboard h1{margin:0;font:700 clamp(2rem,4vw,3.5rem) Space Grotesk}.live{color:#16875b;background:#e9fbf3;border-radius:99px;align-items:center;gap:.5rem;padding:.7rem 1rem;font-weight:700;display:flex}.live svg{width:18px}.metric-grid{grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0;display:grid}.metric-card,.panel-card{background:#fff;border:1px solid #e0e8ed;border-radius:20px;padding:1.5rem;box-shadow:0 12px 40px #17334b0b}.metric-card{grid-template-columns:auto 1fr;gap:.2rem 1rem;display:grid}.metric-card>div{width:46px;height:46px;color:var(--primary);background:#e8f7fd;border-radius:14px;grid-row:1/4;place-items:center;display:grid}.metric-card>span{color:#718096}.metric-card>strong{font:700 2.4rem Space Grotesk}.metric-card>small{color:#8693a5}.dashboard-grid{grid-template-columns:1.2fr 1fr;gap:1rem;display:grid}.card-title{justify-content:space-between;align-items:center;display:flex}.card-title h2{margin:0;font:700 1.35rem Space Grotesk}.card-title>svg{color:var(--primary)}.bar-row{margin-top:1.3rem}.bar-row>div:first-child{justify-content:space-between;font-size:.9rem;display:flex}.bar{background:#edf2f5;border-radius:99px;height:10px;margin-top:.5rem;overflow:hidden}.bar i{background:var(--primary);border-radius:99px;height:100%;display:block}.game-stats{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-top:2rem;display:grid}.game-stats div{text-align:center;background:#f4f8fa;border-radius:14px;padding:1rem}.game-stats strong{font:700 2rem Space Grotesk;display:block}.game-stats span{color:#718096}.ranking span{flex-direction:column;display:flex}.ranking small{color:#8390a2}.kiosk-list{gap:.6rem;margin-top:1.5rem;display:grid}.kiosk-list>div{background:#f6f9fa;border-radius:14px;align-items:center;gap:.8rem;padding:1rem;display:flex}.kiosk-list i{border-radius:50%;width:10px;height:10px}.kiosk-list i.online{background:#25b978}.kiosk-list i.offline{background:#df5b5b}.kiosk-list span{flex-direction:column;flex:1;display:flex}.kiosk-list small{color:#78869a}.connection-toast{background:var(--secondary);color:#fff;border-radius:12px;padding:.8rem 1rem;position:fixed;bottom:1rem;right:1rem}@media (width<=800px){.route-grid,.game-grid,.metric-grid{grid-template-columns:1fr 1fr}.dashboard-grid,.answers{grid-template-columns:1fr}.kiosk{padding:1.2rem}.game-menu{margin:7vh auto}}@media (width<=520px){.route-grid,.game-grid,.metric-grid{grid-template-columns:1fr}.memory-grid{grid-template-columns:repeat(3,1fr)}.dashboard>header{flex-direction:column;align-items:flex-start;gap:1rem}.button-row{flex-direction:column}}.event-brand{justify-content:center;align-items:center;gap:.8rem;margin-bottom:1.5rem;display:flex}.event-brand.compact{justify-content:flex-start;margin:0}.brand-sw{object-fit:contain;width:min(260px,42vw);height:58px}.brand-i3{object-fit:contain;width:88px;height:58px}.brand-divider{background:#cbd8e2;width:1px;height:42px}.event-brand.compact .brand-sw{width:150px;height:38px}.event-brand.compact .brand-i3{width:62px;height:38px}.scanner-hint{color:#6e7e91;max-width:620px;margin:1rem auto 0;font-size:1rem}.registration{color:#fff;background:linear-gradient(90deg,#071522d9 0%,#071522a8 42%,#0715225c 100%),url(/assets/Bienvenido-totem.webp) 50%/cover fixed}.registration>header p,.registration .scanner-hint,.registration .lead{color:#e3edf5}.registration .welcome-card{background:0 0}.registration .brand-i3{filter:brightness(0)invert()}.registration .status.online{color:#8df0c1}.registration .scan-orbit{background:#ffffffeb}.registration .eyebrow{color:#b7cee0}body{font-family:Bahnschrift,Rajdhani,Trebuchet MS,sans-serif}h1,h2,h3,strong,.brand{letter-spacing:-.035em;font-family:Space Grotesk,Bahnschrift,sans-serif}.registration{flex-direction:column;display:flex}.welcome-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.scan-orbit{aspect-ratio:1;background:#fff;border:1px solid #dcecf4;border-radius:50%;place-items:center;width:min(230px,38vw);margin-bottom:2rem;display:grid;position:relative;box-shadow:0 20px 70px #0c426622}.scan-orbit:before{content:"";border:2px solid var(--primary);opacity:.22;border-radius:50%;position:absolute;inset:-12px}.scan-orbit svg{width:88px;height:88px;color:var(--primary)}.welcome-card h1{letter-spacing:-.05em;margin:.4rem;font:700 clamp(2.6rem,6vw,5.5rem) Space Grotesk}.welcome-card.ok h1{color:#16875b}.welcome-card.error h1{color:#d85050}.welcome-card.ok .scan-orbit{background:#e9fbf3}.welcome-card.error .scan-orbit{background:#fff0f0}.welcome-card>button{border:0;border-radius:14px;align-items:center;gap:.6rem;margin-top:1rem;padding:1rem 1.4rem;font-weight:700;display:inline-flex}.status{align-items:center;gap:.45rem;font-weight:600;display:flex}.status svg{width:19px}.status.online{color:#16875b}.status.offline{color:#6f7f92}.manual{color:#75849a;position:fixed;bottom:1rem;right:1rem}.manual form{background:#fff;border-radius:12px;padding:.5rem;display:flex;box-shadow:0 8px 30px #17334b22}.manual input{text-transform:uppercase;border:0;outline:0;width:110px;padding:.7rem}.manual button{background:var(--secondary);color:#fff;border:0;border-radius:8px;padding:.6rem .8rem}.registration-idle{color:#fff;background:#000}.registration-idle .registration-stage{min-height:100vh}.registration-logos{flex-direction:column;justify-content:center;align-items:center;gap:clamp(.8rem,2vh,1.8rem);width:100%;animation:.9s both logos-in;display:flex}.registration-i3{width:min(420px,62vw);height:auto;display:block}.registration-sw{width:min(980px,88vw);height:auto;display:block}.registration-idle .registration-i3,.registration-idle .registration-sw{filter:none}.registration-ok .registration-logos,.registration-error .registration-logos{opacity:.35;transition:all .6s;transform:scale(.72)}.registration-ok .registration-stage,.registration-error .registration-stage{gap:1rem}.registration-ok .welcome-message,.registration-error .welcome-message{text-align:center;z-index:2;place-content:center;display:grid;position:absolute;inset:0}.registration-ok .registration-i3,.registration-error .registration-i3,.registration-ok .registration-sw,.registration-error .registration-sw{filter:none}@keyframes logos-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.registration{color:var(--secondary);background:#fff;padding:0}.registration-stage{text-align:center;place-content:center;min-height:100vh;display:grid}.registration .event-brand{margin:0}.registration .brand-sw,.registration .brand-i3{filter:none}.registration .brand-divider{background:#cbd8e2}.registration-ok,.registration-error{color:#fff;background:url(/assets/Bienvenido-totem.webp) 50%/cover fixed}.registration-ok .registration-stage,.registration-error .registration-stage{animation:.9s both welcome-in}.registration-ok .brand-sw,.registration-error .brand-sw,.registration-ok .brand-i3,.registration-error .brand-i3{filter:none}.welcome-message{text-align:center;width:100%}.welcome-name{color:#22a7df;text-align:center;flex-wrap:wrap;justify-content:center;margin:0;font-size:clamp(1.8rem,4.5vw,4.8rem);font-weight:700;line-height:1.15;display:flex}.welcome-name span{opacity:0;animation:.55s cubic-bezier(.2,.8,.2,1) forwards letter-in;display:inline-block;transform:translateY(.7em)}.welcome-message p{color:#22a7df;margin:0;font-size:clamp(1.5rem,3vw,3rem)}.manual{z-index:3}.registration .manual{color:#68788c}.registration .manual form{opacity:.18;transition:opacity .2s}.registration .manual:hover form,.registration .manual:focus-within form{opacity:1}.panel-tabs{gap:.6rem;margin:1.2rem 0;display:flex}.panel-tabs button,.clock-presets button,.clock-actions button{cursor:pointer;background:#fff;border:1px solid #d8e2e9;border-radius:12px;padding:.8rem 1.2rem;font-weight:700}.panel-tabs button.active{background:var(--secondary);color:#fff}.attendance-grid-card{margin-top:1rem}.code-group h3{margin:1.5rem 0 .6rem}.code-grid{grid-template-columns:repeat(16,minmax(38px,1fr));gap:.35rem;display:grid}.code-cell{color:#6b7785;text-align:center;background:#e2e6ea;border-radius:5px;padding:.45rem .2rem;font:600 .72rem Space Grotesk}.code-cell.present{color:#fff;background:#22a7df;box-shadow:0 0 0 2px #22a7df55}.clock-screen{text-align:center;background:radial-gradient(circle at 50% 15%,#e0f7f3,#0000 40%),#f6fafb;place-content:center;min-height:100vh;padding:3rem;display:grid}.clock-display{letter-spacing:.04em;color:var(--secondary);margin:2rem;font:700 clamp(6rem,18vw,16rem)/1 Space Grotesk}.clock-presets,.clock-actions{flex-wrap:wrap;justify-content:center;gap:.6rem;display:flex}.clock-actions{margin-top:1rem}.puzzle-grid{aspect-ratio:1;background:#9eb4c1;grid-template-columns:repeat(20,1fr);gap:1px;max-width:760px;padding:3px;display:grid}.puzzle-grid button{color:#fff;background:#22a7df;border:0;min-width:0;padding:0;font-size:.45rem}.puzzle-grid button.empty{background:#102341}.puzzle-card{place-items:center;display:grid}.dashboard{aspect-ratio:4/3;max-height:100vh;overflow:auto}.dashboard .event-brand.compact{margin-bottom:.3rem}.dashboard .metric-grid{grid-template-columns:repeat(4,1fr)}@keyframes welcome-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes letter-in{0%{opacity:0;transform:translateY(.7em)}to{opacity:1;transform:translateY(0)}}@media (orientation:portrait) and (width<=800px){.kiosk{padding:1.2rem}.kiosk>header{flex-direction:column;gap:.6rem}.game-menu{margin:5vh auto}.game-grid{grid-template-columns:1fr}.welcome-name{font-size:clamp(1.8rem,8vw,3.2rem)}.code-grid{grid-template-columns:repeat(8,1fr)}}.registration.registration-idle{color:#fff;min-height:100vh;background:#000!important}.registration.registration-idle .registration-stage{flex-direction:column;justify-content:center;align-items:center;width:100vw;min-height:100vh;margin:0 auto;display:flex}.registration.registration-idle .registration-logos{justify-content:center;align-items:center;margin:0 auto}.registration.registration-idle .registration-i3,.registration.registration-idle .registration-sw{object-fit:contain;object-position:center}.registration.registration-idle .registration-i3{width:min(378px,55.8vw);transform:translateY(-3vh)}.registration.registration-idle .registration-sw{width:min(882px,79.2vw);transform:translateY(-1vh)}.registration-ok .registration-logos,.registration-error .registration-logos{display:none}.welcome-name{font-size:clamp(2.16rem,5.4vw,5.76rem)}.dashboard{aspect-ratio:auto;box-sizing:border-box;height:100vh;padding:1rem 2vw;overflow:hidden}.dashboard header{flex:none}.dashboard .panel-tabs{flex:none;margin:.45rem 0}.compact-metrics .metric-card svg{width:1rem}.day-selector{gap:.4rem;margin:.2rem 0 .55rem;display:flex}.day-selector button{border-radius:999px;padding:.35rem .7rem}.day-selector button.active{color:#07131b;background:#22a7df;border-color:#22a7df}.attendance-workspace{flex:1;grid-template-columns:minmax(0,1fr) 260px;gap:.65rem;min-height:0;display:grid;overflow:hidden}.attendance-workspace .panel-card{min-height:0;overflow:auto}.attendance-grid-card{padding:.7rem}.attendance-grid-card .code-group{margin:.35rem 0}.attendance-grid-card .code-grid{grid-template-columns:repeat(12,minmax(2.6rem,1fr));gap:.25rem;display:grid}.attendance-grid-card .code-cell{color:#fff;cursor:pointer;background:#5d6870;border:0;border-radius:4px;padding:.3rem .12rem;font-size:.68rem}.participant-detail{padding:1rem;position:relative}.detail-close{background:0 0;border:0;font-size:1.5rem;position:absolute;top:.5rem;right:.65rem}.detail-code{color:#22a7df}.day-detail{border-top:1px solid #263842;justify-content:space-between;padding:.45rem 0;display:flex}.clock-panel{flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;display:flex}.clock-panel .clock-display{font-size:clamp(4rem,12vw,10rem)}.panel-live-title{color:#102341;margin-bottom:.2rem}.panel-brand{align-items:center;gap:1rem;display:flex}.panel-brand-title{white-space:nowrap;font:700 clamp(1.15rem,2vw,2rem) Space Grotesk}.panel-brand-logos{align-items:center;gap:.7rem;height:3rem;display:flex}.panel-brand-logos img:first-child{width:10rem;height:auto}.panel-brand-logos img:last-child{object-fit:contain;width:5rem;height:3rem}.live{color:#d73535;background:#fff0f0}.live svg{color:#d73535;animation:1s ease-in-out infinite live-blink}.compact-metrics{grid-template-columns:repeat(3,1fr)!important}.compact-metrics .metric-card{border-radius:12px}.attendance-grid-card .code-group{vertical-align:top;width:49%;margin:.25rem 0;display:inline-block}.attendance-grid-card .code-grid{grid-template-columns:repeat(8,minmax(2rem,1fr));gap:.2rem}.attendance-grid-card .code-cell{color:#26333b;background:#aeb8c0;padding:.25rem .1rem;font-size:.62rem}.attendance-grid-card .code-cell.present{color:#06131b;background:#22a7df}.custom-clock{border:1px solid #d8e2e9;border-radius:12px;align-items:center;gap:.25rem;padding:.15rem .3rem;font-weight:700;display:flex}.custom-clock input{text-align:center;background:0 0;border:0;width:3.2rem}.custom-clock button{background:#22a7df;border:0;border-radius:8px;padding:.35rem .5rem;font-weight:700}@keyframes live-blink{0%,to{opacity:1}50%{opacity:.2}}.panel-live-title{color:#68727c}.panel-brand-title{color:#050505;letter-spacing:-.03em;font-family:Space Grotesk,sans-serif;font-weight:700}.panel-brand-title b{color:#22a7df}.day-selector{margin-top:1rem;margin-bottom:.85rem}.panel-brand-title{font-size:clamp(2.3rem,4vw,4rem)}.panel-brand-logos{gap:1.5rem;height:8rem}.panel-brand-logos img:first-child{width:22rem}.panel-brand-logos img:last-child{width:20rem;height:8rem}.compact-metrics .metric-card{justify-content:center;align-items:center;gap:.75rem;padding:.6rem;display:flex}.compact-metrics .metric-icon{color:#22a7df;background:0 0;place-items:center;width:auto;height:auto;display:grid}.compact-metrics .metric-icon svg{width:2rem;height:2rem}.compact-metrics .metric-copy{text-align:left;gap:.1rem;display:grid}.compact-metrics .metric-copy>span{color:#718096}.compact-metrics .metric-copy>div{align-items:baseline;gap:.45rem;display:flex}.compact-metrics .metric-copy small{color:#8693a5}.attendance-workspace{padding-bottom:1rem}.attendance-grid-card{padding-bottom:1.2rem}.attendance-grid-card .code-group{margin-bottom:1rem}.attendance-grid-card .code-group:first-of-type{margin-right:1.5rem}.attendance-grid-card .code-group{width:calc(50% - 1rem)}.dashboard>header{gap:1rem;min-width:0}.panel-brand{flex:1;min-width:0}.panel-brand-logos{gap:1rem;min-width:0;max-width:100%;height:auto}.panel-brand-logos img:first-child{object-fit:contain;width:min(34vw,420px);height:auto;max-height:110px}.panel-brand-logos img:last-child{object-fit:contain;width:min(12vw,150px);height:auto;max-height:110px}.live{white-space:nowrap;flex:none}.compact-metrics{width:100%;grid-template-columns:repeat(3,minmax(0,1fr))!important}.compact-metrics .metric-card{min-width:0;overflow:hidden}.compact-metrics .metric-copy{min-width:0}.compact-metrics .metric-copy strong{font-size:clamp(1.4rem,2.4vw,2rem)}.attendance-workspace{margin-bottom:1rem;padding-bottom:2rem!important}.attendance-grid-card .code-group{vertical-align:top;display:inline-block;width:calc(50% - 1.25rem)!important;margin-bottom:1.5rem!important;margin-right:2rem!important}.attendance-grid-card .code-group:last-child{margin-right:0!important}.dashboard>header{align-items:flex-start}.panel-brand-logos{justify-content:flex-start;gap:.35rem}.panel-brand-logos img:first-child{object-position:left center;width:min(34vw,420px)}.live{position:absolute;top:1rem;right:2vw}.panel-tabs{align-items:center;gap:.45rem!important;margin:.35rem 0!important}.panel-tabs .panel-live-title{margin:0 .7rem 0 0}.day-selector{margin:.25rem 0 .45rem}.compact-metrics{gap:.65rem!important;margin:.25rem 0 .45rem!important}.compact-metrics .metric-card{box-shadow:none;background:#fff;border-color:#dfe7ed}.attendance-workspace{margin-top:.45rem!important;padding-bottom:3rem!important}.attendance-grid-card{margin-bottom:3rem!important;padding-bottom:2.5rem!important}.panel-brand-logos img:last-child{margin-left:-1.5rem}.panel-tabs .panel-live-title{letter-spacing:.1em;font-size:1.56rem}.compact-metrics,.day-selector{width:calc(100% - 260px - .65rem)}.compact-metrics .metric-icon{width:auto!important;height:auto!important;box-shadow:none!important;background:0 0!important;border:0!important;grid-row:auto!important}.compact-metrics .metric-icon svg{background:0 0!important}.panel-tabs,.day-selector,.compact-metrics,.attendance-workspace{margin-top:.35rem!important;margin-bottom:.35rem!important}.attendance-workspace{padding-top:0!important}.compact-metrics .metric-card{grid-template-columns:auto minmax(0,1fr);justify-content:stretch;display:grid}.compact-metrics .metric-card>.metric-icon{background:0 0!important;grid-row:auto!important;width:auto!important;height:auto!important;padding:0!important}.compact-metrics .metric-copy{justify-self:start}.panel-brand-logos img:last-child{width:min(36vw,450px);margin-left:-3rem}.clock-panel{padding-top:4vh;justify-content:flex-start!important}.clock-panel .clock-display{margin-top:0}.custom-clock{height:2.7rem;text-align:center!important;background:#fff!important;border:1px solid #d8e2e9!important;border-radius:10px!important;width:4.2rem!important;padding:.25rem!important}.participant-number{letter-spacing:.12em;color:#22a7df;margin:0 0 .45rem;font:700 clamp(1.2rem,2.4vw,2.3rem) Space Grotesk}.welcome-message .welcome-name{letter-spacing:.015em;min-height:1.2em;font-family:Space Grotesk,Bahnschrift,sans-serif}.registration-ok .welcome-name,.registration-ok .welcome-name span{animation:none!important}.metric-card,.panel-card{min-width:0}.compact-metrics{gap:1.2rem!important}.compact-metrics .metric-card{min-height:5.2rem;padding:.75rem 1rem}.compact-metrics .metric-icon{flex:none;color:#22a7df!important;background:0 0!important}.clock-panel .clock-display{margin-bottom:.5rem;line-height:.9;font-size:clamp(8rem,24vw,20rem)!important}.clock-picker{flex-direction:column;justify-content:center;align-items:center;gap:0;display:inline-flex}.clock-picker button{color:#7d8790;background:0 0;border:0;padding:.1rem .45rem;font-size:.65rem;line-height:.7}.clock-picker input{text-align:center;background:#fff;border:0;width:3.8rem;padding:.3rem;font:700 1rem Space Grotesk}.registration{font-family:Space Grotesk,Bahnschrift,sans-serif}.participant-number{animation:.65s cubic-bezier(.2,.8,.2,1) both participant-in}.welcome-message .welcome-name{animation:.2s .6s both blank-name}@keyframes participant-in{0%{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:translateY(0)}}@keyframes blank-name{0%{opacity:0}to{opacity:1}}.participant-number{font-weight:700;font-family:Space Grotesk,Bahnschrift,sans-serif!important}.welcome-message .welcome-name{font-size:clamp(2.16rem,5.4vw,5.76rem)}.compact-metrics .metric-card{grid-template-columns:42px minmax(0,1fr)!important;grid-template-areas:"icon copy"!important;justify-content:stretch!important;align-items:center!important;display:grid!important}.compact-metrics .metric-icon{grid-area:icon!important;justify-self:start!important}.compact-metrics .metric-copy{min-width:0;grid-area:copy!important}.compact-metrics .metric-copy>div{white-space:nowrap}.registration-ok .welcome-message,.registration-error .welcome-message{transform:translateY(-12vh)}.welcome-particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.welcome-particles i{background:#22a7df;border-radius:50%;width:7px;height:7px;animation:5s ease-in-out forwards particle-drift;position:absolute;top:50%;left:50%;box-shadow:0 0 14px #22a7df}.welcome-particles i:first-child{--dx:-42vw;--dy:-25vh;animation-delay:50ms}.welcome-particles i:nth-child(2){--dx:38vw;--dy:-30vh;animation-delay:.15s}.welcome-particles i:nth-child(3){--dx:-35vw;--dy:28vh;animation-delay:.25s}.welcome-particles i:nth-child(4){--dx:42vw;--dy:25vh;animation-delay:.35s}.welcome-particles i:nth-child(5){--dx:-25vw;--dy:-38vh;animation-delay:.45s}.welcome-particles i:nth-child(6){--dx:28vw;--dy:36vh;animation-delay:.55s}.welcome-particles i:nth-child(7){--dx:-48vw;--dy:8vh;animation-delay:.65s}.welcome-particles i:nth-child(8){--dx:48vw;--dy:-8vh;animation-delay:.75s}.welcome-particles i:nth-child(9){--dx:-12vw;--dy:38vh;animation-delay:.85s}.welcome-particles i:nth-child(10){--dx:14vw;--dy:-38vh;animation-delay:.95s}.welcome-particles i:nth-child(11){--dx:-38vw;--dy:-12vh;animation-delay:1.05s}.welcome-particles i:nth-child(12){--dx:38vw;--dy:14vh;animation-delay:1.15s}@keyframes particle-drift{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx,20vw)),calc(-50% + var(--dy,20vh))) scale(1.1)}}.compact-metrics .metric-icon,.compact-metrics .metric-icon *{box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.clock-lock{justify-content:center;align-items:center;gap:.08em;display:flex}.clock-digit{flex-direction:column;align-items:center;line-height:.72;display:flex}.clock-digit strong{min-width:.55em;font:700 clamp(8rem,24vw,20rem) Space Grotesk}.clock-digit button{color:#858e95;cursor:pointer;background:0 0;border:0;padding:.2em .5em;font-size:.18em;line-height:1}.clock-colon{align-self:center;margin-bottom:.05em;font:700 clamp(7rem,21vw,17rem) Space Grotesk}.welcome-particles i{width:10px;height:10px}.welcome-particles i:first-child{--dx:-78vw;--dy:-52vh}.welcome-particles i:nth-child(2){--dx:72vw;--dy:-60vh}.welcome-particles i:nth-child(3){--dx:-65vw;--dy:56vh}.welcome-particles i:nth-child(4){--dx:78vw;--dy:52vh}.welcome-particles i:nth-child(5){--dx:-48vw;--dy:-72vh}.welcome-particles i:nth-child(6){--dx:52vw;--dy:68vh}.welcome-particles i:nth-child(7){--dx:-84vw;--dy:16vh}.welcome-particles i:nth-child(8){--dx:84vw;--dy:-16vh}.welcome-particles i:nth-child(9){--dx:-24vw;--dy:72vh}.welcome-particles i:nth-child(10){--dx:28vw;--dy:-72vh}.welcome-particles i:nth-child(11){--dx:-68vw;--dy:-24vh}.welcome-particles i:nth-child(12){--dx:68vw;--dy:28vh}.welcome-particles i{animation-duration:15s}.clock-presets{gap:.1rem!important}.clock-presets button{background:#ffffff29!important;border-color:#d8e2e94d!important;padding:.4rem .58rem!important}.clock-colon{margin:0 .04em .05em!important}.welcome-particles i{animation-name:particle-drift-grow!important;animation-duration:15s!important}@keyframes particle-drift-grow{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)}12%{opacity:.9}72%{opacity:.45}to{opacity:0;transform:translate(calc(-50% + var(--dx,20vw)),calc(-50% + var(--dy,20vh))) scale(2.6)}}.clock-screen,.clock-panel,.clock-display,.clock-digit strong,.clock-colon{font-family:Space Grotesk,Bahnschrift,sans-serif}.clock-panel .clock-display{letter-spacing:.015em!important;gap:.015em!important;margin:0!important;font-size:clamp(6.5rem,16vw,14rem)!important;line-height:.8!important}.clock-panel .clock-digit{gap:0!important;line-height:.5!important}.clock-panel .clock-digit strong{min-width:.5em!important;font-size:clamp(6.5rem,16vw,14rem)!important;font-weight:500!important}.clock-panel .clock-digit button{opacity:.3;margin:0!important;padding:0 .12em!important;font-size:.14em!important;line-height:.45!important}.clock-panel .clock-colon{margin:0 .015em!important;font-size:clamp(6rem,15vw,13rem)!important;font-weight:500!important}.clock-panel .clock-presets{flex-wrap:nowrap!important;gap:.2rem!important;margin-top:.35rem!important}.clock-panel .clock-presets button{white-space:nowrap;padding:.28rem .4rem!important;font-size:.72rem!important}.clock-panel .clock-actions{gap:.35rem!important;margin-top:.35rem!important}.clock-panel .clock-actions button{padding:.35rem .65rem!important;font-size:.8rem!important}.teams-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem;padding-bottom:1rem;display:grid}.team-card{min-width:0;padding:1rem}.team-card .card-title{gap:.5rem}.team-card .card-title h2{font-size:1.15rem}.team-count{color:#718096;white-space:nowrap;font-size:.78rem}.team-members{gap:.35rem;margin-top:.7rem;display:grid}.team-member{background:#f8fbfc;border:1px solid #e0e8ed;border-radius:9px;justify-content:space-between;align-items:center;gap:.75rem;min-width:0;padding:.45rem .55rem;display:flex}.team-member>div{min-width:0;display:grid}.team-member strong{white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}.team-member small{color:#718096;font-size:.7rem}.team-member a{color:#22a7df;overflow-wrap:anywhere;text-align:right;font-size:.68rem}.panel-tabs{flex-wrap:wrap}@media (width<=900px){.teams-grid{grid-template-columns:1fr}.team-member a{max-width:42%}}.teams-workspace{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:.75rem;padding-bottom:1rem;font-family:Space Grotesk,Bahnschrift,sans-serif;display:grid}.team-selector,.team-detail{min-width:0;padding:1rem}.team-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-top:.75rem;display:grid}.team-tile{aspect-ratio:1;color:#102341;text-align:left;cursor:pointer;background:#f8fbfc;border:1px solid #d8e2e9;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;min-width:0;padding:.55rem;display:flex}.team-tile:hover,.team-tile.active{background:#e8f7fd;border-color:#22a7df;box-shadow:0 0 0 2px #22a7df33}.team-tile strong{color:#fff;background:#22a7df;border-radius:8px;place-items:center;width:2rem;height:2rem;font-size:1.1rem;display:grid}.team-tile span{font-size:.78rem;font-weight:700;line-height:1.15;overflow:hidden}.team-tile small{color:#718096;font-size:.65rem}.teams-workspace .team-detail h2{font-size:1.15rem}.teams-workspace .team-member a{max-width:45%}.panel-tabs{justify-content:flex-start;align-items:center}.panel-tabs .panel-live-title{margin-right:0}.teams-workspace .team-member{font-family:Space Grotesk,Bahnschrift,sans-serif}@media (width<=900px){.teams-workspace{grid-template-columns:1fr}.team-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=560px){.team-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
