:root{--color-primary: #6B1D3A;--color-primary-dark: #4A1228;--color-primary-light: #8B2D50;--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}.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,#2a0816eb,#4a1228c7,#6b1d3ad9);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.5rem;animation:fadeIn .4s .6s ease both}.success-footer p{font-size:.78rem;color:var(--color-text-muted);text-align:center}.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}}
