html,body,#root{background:#000;width:100%;min-height:100%;margin:0;padding:0;overflow-x:hidden}*{box-sizing:border-box}body{font-family:Georgia,Times New Roman,serif}.checkin-page{color:#fff;text-align:center;background:radial-gradient(circle,#151515 0%,#000 70%);justify-content:center;align-items:flex-start;min-height:100vh;padding:25px 12px 20px;transition:background .5s;display:flex}.checkin-page.success-mode{background:radial-gradient(circle,#06351f 0%,#000 70%);align-items:center}.checkin-card{width:100%;max-width:1000px;margin-top:15px;animation:.6s fadeIn}.checkin-logo{width:120px;max-width:70%;margin-bottom:20px}.checkin-card h1{color:#d4af37;letter-spacing:2px;margin:0 0 20px;font-size:clamp(32px,5vw,40px)}.checkin-card h2{text-shadow:3px 3px #000;margin-bottom:32px;font-size:clamp(24px,4vw,28px)}.checkin-input{text-align:center;color:#fff;background:#111;border:4px solid #d4af37;border-radius:18px;outline:none;width:100%;max-width:520px;padding:18px;font-size:clamp(34px,7vw,48px);font-weight:700;box-shadow:0 0 35px #d4af3799}.checkin-input:focus{box-shadow:0 0 55px #d4af37f2}.checkin-input:disabled{opacity:.55}.checkin-help{margin-top:28px;font-size:clamp(20px,4vw,26px);line-height:1.25}.checkin-loading{color:#d4af37;margin-top:30px;font-size:34px;animation:1s infinite pulse}.titulo-error{background:#460000e6;border:4px solid #ff4d4d;border-radius:25px;padding:25px;animation:.35s shake;color:#ff4d4d!important}.registro-formulario{margin-top:30px}.registro-formulario h3{color:#d4af37;margin-bottom:10px;font-size:clamp(30px,5vw,42px)}.registro-formulario p{font-size:22px}.registro-input,.login-input{color:#fff;text-align:center;background:#111;border:4px solid #d4af37;border-radius:18px;width:100%;max-width:650px;margin:18px auto;padding:18px;font-size:clamp(24px,5vw,34px);display:block}.registro-boton,.next-button{color:#fff;cursor:pointer;background:#0a5;border:0;border-radius:18px;margin:20px 8px 0;padding:20px 46px;font-size:clamp(24px,4vw,34px);font-weight:700}.cancel-button{color:#fff;background:#191919;border:2px solid #d4af37;border-radius:16px;margin:20px 8px 0;padding:18px 28px;font-size:20px}.topbar{color:#b9b9b9;justify-content:flex-end;align-items:center;gap:18px;min-height:34px;font:14px system-ui,sans-serif;display:flex}.logout-button{color:#d4af37;cursor:pointer;background:0 0;border:0;font-weight:700}.confirmation{width:min(96vw,900px);padding:22px;animation:.45s popIn}.success-check{color:#0f9;font:900 clamp(60px,10vw,100px)/1 system-ui}.confirmation h1{color:#0f9;text-shadow:0 0 25px #0f97;margin:8px 0 20px;font-size:clamp(36px,7vw,70px)}.confirmation h2{margin:12px 0 28px;font-size:clamp(34px,6vw,58px)}.bracelet-display{border:5px solid #fff;border-radius:28px;width:min(95%,700px);margin:20px auto;padding:25px;box-shadow:0 0 35px}.bracelet-display span{font:700 clamp(20px,3vw,30px) system-ui;display:block}.bracelet-display strong{letter-spacing:3px;font:900 clamp(46px,9vw,84px) system-ui;display:block}.table-display{margin:25px;font:900 clamp(48px,9vw,86px) system-ui}.pending-display{color:#ffd166;background:#4a2a00;border:4px solid #f59e0b;border-radius:22px;width:min(95%,720px);margin:18px auto;padding:22px}.pending-display strong,.pending-display span{display:block}.pending-display strong{font:900 clamp(32px,6vw,56px) system-ui}.pending-display span{margin-top:7px;font:700 clamp(20px,3vw,28px) system-ui}.warnings{color:#ffd166;max-width:720px;margin:15px auto;font:600 17px system-ui}.duplicate-mode h1,.duplicate-mode .success-check{color:#ffd166}.next-button{color:#000;background:#d4af37;margin:22px auto;display:block}.login-card{margin-top:6vh}.login-card form{margin-top:20px}.login-input{padding:14px;font-size:25px}.checkin-error-box{color:#fff;background:#460000;border:3px solid #ff4d4d;border-radius:16px;max-width:650px;margin:20px auto;padding:18px;font-size:20px}footer{color:#777;margin-top:35px;font:14px system-ui,sans-serif}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:.45}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-12px)}50%{transform:translate(12px)}75%{transform:translate(-12px)}}@media (width<=600px){.checkin-page{padding-top:12px}.checkin-logo{width:85px;margin-bottom:10px}.checkin-card h1{margin-bottom:10px}.checkin-card h2{margin:8px 0 20px}.topbar span{text-align:left;max-width:65%}.confirmation{padding:10px}.warnings{font-size:14px}}
