:root{--color-primary: #6B1D3A;--color-primary-dark: #4A1228;--color-primary-light: #8B2D50;--color-primary-rgb: 107, 29, 58;--color-primary-dark-rgb: 74, 18, 40;--color-accent: #C4A84D;--color-accent-light: #D4BC6E;--color-bg: #F5F3F0;--color-surface: #FFFFFF;--color-text: #2C2C2C;--color-text-light: #666666;--color-text-muted: #999999;--color-border: #E0E0E0;--color-error: #C0392B;--color-success: #27AE60;--font: "Inter", system-ui, sans-serif;--radius: 8px;--radius-lg: 14px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}#root{min-height:100vh}img{max-width:100%;display:block}input,button{font-family:inherit}.app{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.unavailable-page{min-height:100vh;display:grid;place-items:center;padding:1.5rem;position:relative;overflow:hidden;background:radial-gradient(circle at 16% 16%,rgba(var(--color-primary-rgb),.18),transparent 32%),radial-gradient(circle at 82% 20%,rgba(196,168,77,.18),transparent 30%),radial-gradient(circle at 50% 100%,rgba(var(--color-primary-rgb),.1),transparent 45%),linear-gradient(145deg,#f6f4f1,#ece7e1)}.unavailable-page:before,.unavailable-page:after{content:"";position:absolute;border-radius:999px;pointer-events:none}.unavailable-page:before{width:380px;height:380px;top:-130px;left:-110px;background:radial-gradient(circle,rgba(var(--color-primary-rgb),.2),rgba(var(--color-primary-rgb),0) 72%)}.unavailable-page:after{width:320px;height:320px;right:-90px;bottom:-110px;background:radial-gradient(circle,#c4a84d38,#c4a84d00 72%)}.unavailable-card{width:min(100%,620px);background:#ffffffc7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:2.2rem 2rem;text-align:center;box-shadow:0 18px 36px #21151b24,0 1px #ffffffb3 inset;position:relative;z-index:1;overflow:visible}.unavailable-card:before,.unavailable-card:after{content:"";position:absolute;width:10px;height:10px;border-radius:50%;pointer-events:none;z-index:2;transform:translate(-50%,-50%)}.unavailable-card:before{background:#6b1d3afa;box-shadow:0 0 0 3px #6b1d3a24,0 0 18px #6b1d3a99,0 0 30px #6b1d3a59;animation:sparkleBorderPath 7.2s linear infinite,sparkleGlow 1.2s ease-in-out infinite}.unavailable-card:after{width:8px;height:8px;background:#4a1228f2;box-shadow:0 0 0 3px #4a12281f,0 0 14px #4a12288c,0 0 24px #4a122847;animation:sparkleBorderPath 8.6s linear infinite reverse,sparkleGlow 1.7s ease-in-out infinite;animation-delay:-2.4s,-.45s}@keyframes sparkleBorderPath{0%{top:0;left:0}12.5%{top:0;left:50%}25%{top:0;left:100%}37.5%{top:50%;left:100%}50%{top:100%;left:100%}62.5%{top:100%;left:50%}75%{top:100%;left:0}87.5%{top:50%;left:0}to{top:0;left:0}}@keyframes sparkleGlow{0%,to{opacity:.52;filter:blur(0)}50%{opacity:1;filter:blur(.45px)}}.unavailable-logo{width:68px;height:68px;object-fit:contain;margin:0 auto 1rem}.unavailable-kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-light);margin-bottom:.65rem}.unavailable-card h1{font-size:1.9rem;line-height:1.2;color:var(--color-text);margin-bottom:.55rem}.unavailable-card p{color:var(--color-text-light);font-size:.95rem;line-height:1.6;margin:0}.info-panel{background:var(--color-primary);background-size:cover;background-position:center;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:3rem 2.5rem;position:relative;overflow:hidden}.info-overlay{position:absolute;inset:0;background:linear-gradient(160deg,rgba(var(--color-primary-dark-rgb),.88),rgba(var(--color-primary-rgb),.7) 52%,rgba(var(--color-primary-rgb),.82));z-index:0}.info-content{position:relative;z-index:1;max-width:460px;margin:0 auto}.header-brand{display:flex;align-items:center;gap:.85rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.12);animation:fadeIn .6s ease both}.logo-epg{width:56px;height:56px;object-fit:contain;flex-shrink:0}.university-name{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:.1rem;line-height:1.3}.epg-name{font-size:1.1rem;font-weight:700;opacity:.95}.event-tag{display:inline-block;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;background:var(--color-accent);color:var(--color-primary-dark);padding:.3rem .8rem;border-radius:3px;margin-bottom:1rem;animation:fadeIn .5s .15s ease both,tagPulse 3s 1.5s ease-in-out infinite}.info-title{font-size:2.2rem;font-weight:800;line-height:1.1;margin-bottom:.75rem;animation:slideUp .5s .2s ease both}.info-title .accent{color:var(--color-accent-light)}.info-description{font-size:.9rem;line-height:1.65;opacity:.75;margin-bottom:2rem;animation:fadeIn .5s .3s ease both}.event-details{display:flex;gap:.65rem;animation:fadeIn .5s .4s ease both}.detail-card{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius);padding:.85rem .75rem;text-align:center}.detail-card .detail-value{font-size:.92rem;font-weight:700;margin-bottom:.15rem}.detail-card .detail-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.55}.countdown-section{margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.12);animation:fadeIn .5s .5s ease both}.countdown-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;opacity:.5;margin-bottom:.75rem}.countdown-timer{display:flex;align-items:center;gap:.5rem}.countdown-sep{font-size:1.2rem;font-weight:700;color:var(--color-accent-light);opacity:.4;margin-top:-.85rem}.countdown-unit{text-align:center}.countdown-digits{display:flex;gap:2px}.flip-digit{display:inline-flex;align-items:center;justify-content:center;width:28px;height:38px;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:4px;font-size:1.4rem;font-weight:800;color:var(--color-accent-light);font-variant-numeric:tabular-nums;transition:background .2s}.flip-digit.flipping{animation:digitFlip .5s ease}.countdown-text{font-size:.6rem;text-transform:uppercase;letter-spacing:.06em;opacity:.5;margin-top:.35rem;display:block}.form-panel{display:flex;align-items:center;justify-content:center;padding:3rem 2rem;position:relative}.form-panel:before{content:"";position:absolute;left:0;top:15%;bottom:15%;width:3px;background:linear-gradient(to bottom,var(--color-accent),var(--color-primary));border-radius:2px}.form-container{width:100%;max-width:400px;animation:fadeIn .5s .1s ease both}.form-header{margin-bottom:1.75rem;text-align:center}.form-header h2{font-size:1.5rem;font-weight:700;margin-bottom:.35rem}.form-header p{font-size:.85rem;color:var(--color-text-light)}.form-steps{display:flex;align-items:center;gap:0;margin-bottom:1.5rem;font-size:.72rem;color:var(--color-text-muted)}.step{display:flex;align-items:center;gap:.35rem}.step-number{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--color-border);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--color-text-muted);transition:all .3s}.step.active .step-number{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.step.done .step-number{background:var(--color-success);border-color:var(--color-success);color:#fff}.step-label{font-weight:500}.step.active .step-label{color:var(--color-text);font-weight:600}.step-connector{width:32px;height:1.5px;background:var(--color-border);margin:0 .5rem}.registration-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.35rem}.form-label{font-size:.8rem;font-weight:600;color:var(--color-text);display:flex;align-items:center;justify-content:space-between}.form-label .required{color:var(--color-error)}.dni-counter{font-size:.7rem;font-weight:400;color:var(--color-text-muted)}.input-row{display:flex;gap:.5rem}.form-input{flex:1;width:100%;padding:.75rem .9rem;border:1.5px solid var(--color-border);border-radius:var(--radius);font-size:.9rem;color:var(--color-text);background:var(--color-surface);outline:none;transition:border-color .2s,box-shadow .2s}.form-input::placeholder{color:var(--color-text-muted)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6b1d3a14}.form-input.input-error{border-color:var(--color-error)}.form-input.input-error:focus{box-shadow:0 0 0 3px #c0392b14}.btn-search{padding:.75rem 1.1rem;border:1.5px solid var(--color-primary);border-radius:var(--radius);background:transparent;color:var(--color-primary);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s,color .2s}.btn-search:hover:not(:disabled){background:var(--color-primary);color:#fff}.btn-search:disabled{opacity:.4;cursor:not-allowed;border-color:var(--color-border);color:var(--color-text-muted)}.name-result{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:#f0faf4;border:1px solid #D0E8DA;border-radius:var(--radius);font-size:.82rem;color:#1e6f42;font-weight:500;animation:slideUp .3s ease both}.name-result .check{color:var(--color-success);font-weight:700}.error-message{font-size:.75rem;color:var(--color-error)}.error-banner{font-size:.8rem;color:var(--color-error);text-align:center;padding:.5rem;background:#fdf0ef;border:1px solid #F5D5D2;border-radius:var(--radius)}.submit-btn{width:100%;padding:.85rem;border:none;border-radius:var(--radius);background:var(--color-primary);color:#fff;font-size:.92rem;font-weight:600;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s}.submit-btn:hover:not(:disabled){background:var(--color-primary-dark);box-shadow:0 4px 14px #6b1d3a40;transform:translateY(-1px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.btn-content{display:flex;align-items:center;justify-content:center;gap:.5rem}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.privacy-note{font-size:.72rem;color:var(--color-text-muted);text-align:center;margin-top:1.25rem}.success-card{text-align:center;padding:2rem 0 1rem;animation:slideUp .4s ease both}.success-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.5rem;font-weight:700;animation:successPop .5s .1s ease both;box-shadow:0 6px 20px #27ae604d;position:relative}.success-icon svg{width:28px;height:28px}.success-icon svg path{stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;fill:none;stroke-dasharray:36;stroke-dashoffset:36;animation:checkDraw .4s .5s ease forwards}.success-card h3{font-size:1.3rem;font-weight:700;margin-bottom:.25rem;color:var(--color-text);animation:fadeIn .4s .3s ease both}.success-subtitle{font-size:.85rem;color:var(--color-text-light);margin-bottom:1.5rem;animation:fadeIn .4s .4s ease both;line-height:1.5}.success-details{text-align:left;background:linear-gradient(135deg,#f8fff8,#f0faf4);border:1px solid #D0E8DA;border-radius:var(--radius-lg);padding:1.25rem;font-size:.82rem;display:flex;flex-direction:column;gap:0;animation:slideUp .4s .5s ease both;overflow:hidden}.success-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem 0;border-bottom:1px solid rgba(39,174,96,.1)}.success-row:last-child{border-bottom:none}.success-row .label{color:var(--color-text-muted);flex-shrink:0;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.success-row .value{font-weight:600;text-align:right;word-break:break-word;color:var(--color-text)}.success-footer{margin-top:1.2rem;padding:.9rem;border-radius:var(--radius-lg);border:1px solid rgba(var(--color-primary-rgb),.16);background:linear-gradient(135deg,rgba(var(--color-primary-rgb),.08),rgba(var(--color-primary-rgb),.02));animation:fadeIn .4s .6s ease both}.success-footer-kicker{font-size:.7rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.06em;font-weight:700;text-align:center;margin-bottom:.6rem}.success-group-link{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;width:100%;padding:.75rem .85rem;border-radius:10px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:#fff;font-weight:700;font-size:.86rem;text-decoration:none;box-shadow:0 10px 18px rgba(var(--color-primary-rgb),.24);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.success-group-link:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 14px 24px rgba(var(--color-primary-rgb),.28)}.success-group-link:focus-visible{outline:3px solid rgba(var(--color-primary-rgb),.3);outline-offset:2px}.success-group-link-icon{font-size:.92rem;line-height:1}.btn-back-home{width:100%;padding:.85rem;margin-top:1.5rem;border:1.5px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-text);font-size:.88rem;font-weight:600;cursor:pointer;transition:all .2s;animation:fadeIn .4s .7s ease both}.btn-back-home:hover{background:var(--color-bg);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes digitFlip{0%{transform:rotateX(0)}50%{transform:rotateX(-90deg);opacity:.5}to{transform:rotateX(0);opacity:1}}@keyframes successPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}@keyframes checkDraw{0%{stroke-dashoffset:36}to{stroke-dashoffset:0}}@keyframes tagPulse{0%,to{box-shadow:0 0 #c4a84d00}50%{box-shadow:0 0 12px 3px #c4a84d4d}}.reveal-group{display:flex;flex-direction:column;gap:1.25rem}.reveal-item{animation:slideUp .35s ease both}@media(max-width:768px){.app{grid-template-columns:1fr}.info-panel{padding:2rem 1.5rem}.info-title{font-size:1.7rem}.event-details{flex-direction:column}.countdown-timer{justify-content:flex-start}.form-panel{padding:2rem 1.5rem}.form-panel:before{display:none}}@media(max-width:400px){.input-row{flex-direction:column}.info-panel,.form-panel{padding:1.5rem 1rem}}
