.registration-form{display:flex;flex-direction:column;gap:clamp(.8rem,1.5vw,1.2rem);width:100%}.form-group{margin-bottom:0;display:flex;flex-direction:column}.form-label{display:block;margin-bottom:clamp(.3rem,.8vw,.5rem);color:#fff;font-weight:700;font-size:clamp(.9rem,1.8vw,1.1rem);cursor:pointer;transition:all .2s ease}.form-label:hover{color:#e0e0e0;text-shadow:0 0 8px rgba(255,255,255,.2)}.form-input{width:100%;padding:clamp(1rem,1.8vw,1.2rem) clamp(.8rem,1.5vw,1rem);font-size:clamp(.9rem,1.5vw,1rem);border:1px solid #d0d4d8;border-radius:8px;box-sizing:border-box;height:clamp(3rem,6vw,3.5rem);line-height:1.3;transition:all .2s ease;background-color:#f9f9f9;outline:none;font-family:inherit}.form-input:focus{outline:none;border-color:#0056b3;box-shadow:0 0 0 3px #007bff33}.form-input::placeholder{color:#999}.form-input-error{border:2px solid #ff8080!important;background-color:#ffe6e6!important;box-shadow:0 0 5px #ff80804d!important}.form-input-error:focus{outline:none!important;border-color:#ff8080!important;background-color:#ffe6e6!important;box-shadow:0 0 8px #ff808080!important}.form-error{display:block;color:#ffe6e6;background-color:transparent;padding:.5rem 0;border-radius:4px;font-size:1.1rem;margin-top:.375rem}.gdpr-box{background:#ffffff26;padding:clamp(.8rem,1.5vw,1rem);border-radius:8px;border:none;font-size:clamp(.8rem,1.4vw,.95rem);color:#fff;margin:0;display:flex;align-items:flex-start;gap:.75rem;line-height:1.5;cursor:pointer;transition:background .2s ease}.gdpr-box:hover{background:#fff3}.gdpr-box input[type=checkbox]{margin-top:.2rem;flex-shrink:0;width:18px;height:18px;cursor:pointer}.gdpr-box span{flex:1}.gdpr-box.form-input-error{background:#ff80804d;border:2px solid #ff8080}.btn-submit{width:100%;padding:clamp(1rem,1.8vw,1.2rem) clamp(1rem,2vw,1.5rem);font-size:clamp(1.05rem,2.2vw,1.3rem);background-color:#007bff;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;margin-top:clamp(.8rem,1.5vw,1rem);height:clamp(3.2rem,6.5vw,3.8rem);box-shadow:0 2px 6px #0003;transition:all .2s ease;outline:none}.btn-submit:hover:not(:disabled){box-shadow:0 4px 12px #0000004d;background-color:#0056b3;transform:translateY(-2px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{background:#6c757d;cursor:not-allowed;box-shadow:none;opacity:.7}.form-note{text-align:center;font-size:clamp(.75rem,1.2vw,.875rem);color:#fffc;margin-top:.5rem;line-height:1.5}@media(hover:none)and (pointer:coarse){.btn-submit:active:not(:disabled){box-shadow:0 4px 12px #0000004d;background-color:#0056b3;transform:translateY(-2px)}}@media(max-width:768px){.registration-form{gap:.6rem}.form-label{font-size:.95rem;margin-bottom:.3rem}.form-input{padding:.9rem .8rem!important;font-size:.9rem!important;height:3rem!important}.btn-submit{padding:.9rem 1rem!important;font-size:1.1rem!important;margin-top:.8rem!important;height:3.2rem!important}.gdpr-box{font-size:.85rem!important;padding:.8rem!important}}@media(max-width:480px){.registration-form{gap:.5rem}.form-label{font-size:.85rem;margin-bottom:.25rem}.form-input{padding:.75rem .65rem!important;font-size:.85rem!important;height:2.75rem!important}.btn-submit{padding:.8rem 1rem!important;font-size:1rem!important;margin-top:.75rem!important;height:3rem!important}.gdpr-box{font-size:.7rem!important;padding:.65rem!important;gap:.5rem}.gdpr-box input[type=checkbox]{width:16px;height:16px}.form-note{font-size:.7rem;margin-top:.5rem}.form-error{font-size:.75rem;padding:.4rem}}@media(max-width:375px){.registration-form{gap:.4rem}.form-label{font-size:.8rem;margin-bottom:.2rem}.form-input{padding:.65rem .55rem!important;font-size:.8rem!important;height:2.6rem!important}.btn-submit{padding:.75rem .9rem!important;font-size:.95rem!important;margin-top:.6rem!important;height:2.9rem!important}.gdpr-box{font-size:.65rem!important;padding:.55rem!important;gap:.4rem;line-height:1.4}.gdpr-box input[type=checkbox]{width:14px;height:14px}.form-note{font-size:.65rem}}.success-container{background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 10px 40px #0000004d;animation:successPop .6s cubic-bezier(.68,-.55,.265,1.55);max-width:800px;margin:2rem auto;width:100%}.success-header{text-align:center;margin-bottom:2rem}.success-icon{color:#28a745;margin-bottom:1rem;animation:checkBounce .8s ease-out}.success-header h1{font-size:2rem;color:#1a1a1a;margin-bottom:.5rem}.success-header p{font-size:1.125rem;color:#666}.success-card{background:#f8f9fa;padding:1.5rem;border-radius:12px;margin-bottom:1.5rem}.success-info{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.success-info h3{font-size:1.125rem;margin-bottom:.75rem;color:#333}.success-info p{margin:.5rem 0;color:#555;font-size:.9375rem}.qr-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.qr-preview-item{display:flex;flex-direction:column;align-items:center;gap:.5rem}.qr-preview-item svg{color:#007bff}.qr-preview-item h4{font-size:.9375rem;color:#333;margin:0}.qr-preview-code{background:#fff;padding:.75rem;border-radius:8px;box-shadow:0 2px 8px #00000014}.success-message{background:#fff;padding:1.25rem;border-radius:8px;border-left:4px solid #007bff}.success-message p{margin:.5rem 0;color:#555;font-size:.9375rem;line-height:1.6}.success-actions{display:flex;gap:1rem}.btn-primary,.btn-secondary{flex:1;padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-align:center}.btn-primary{background:#007bff;color:#fff;box-shadow:0 4px 12px #007bff4d}.btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 6px 20px #007bff66}.btn-secondary{background:#fff;color:#007bff;border:2px solid #007bff}.btn-secondary:hover{background:#f8f9fa;transform:translateY(-2px)}.btn-primary:active,.btn-secondary:active{transform:translateY(0)}@keyframes successPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes checkBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media(max-width:768px){.success-container{padding:2rem}.success-header h1{font-size:1.75rem}.qr-preview-grid{gap:1rem}}@media(max-width:480px){.success-container{padding:1.25rem;margin:1rem .75rem}.success-header h1{font-size:1.4rem;line-height:1.3}.success-header p{font-size:.95rem}.qr-preview-grid{grid-template-columns:1fr;gap:1rem}.success-card{padding:1rem}.success-info h3{font-size:1rem}.success-info p{font-size:.85rem}.success-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;padding:.875rem;font-size:.95rem}.success-message{padding:1rem}.success-message p{font-size:.85rem}}@media(max-width:375px){.success-container{padding:1rem;margin:.75rem .5rem}.success-header h1{font-size:1.25rem}.success-header p{font-size:.9rem}.success-card{padding:.875rem}.success-info h3{font-size:.95rem}.success-info p{font-size:.8rem}.btn-primary,.btn-secondary{padding:.75rem;font-size:.9rem}.success-message p{font-size:.8rem}.qr-preview-item h4{font-size:.85rem}}@keyframes logoAnimation{0%{transform:scale(1) translateY(0);opacity:1}70%{opacity:1}to{transform:scale(.6) translateY(-80px);opacity:1}}@keyframes logoAnimationMobile{0%{transform:scale(1) translateY(0);opacity:1}70%{opacity:1}to{transform:scale(.85) translateY(-20px);opacity:1}}@keyframes formAnimation{0%{opacity:0;transform:translateY(20px)}70%{opacity:0}to{opacity:1;transform:translateY(0)}}.home-container{min-height:100vh;background:#0277bd;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.home-content{display:flex;flex-direction:row;gap:3rem;align-items:center;flex:1;width:100%;height:100%;max-width:1400px;padding:0;justify-content:center}.home-image{display:flex;justify-content:flex-start;align-items:center;flex:.6;align-self:center;margin-top:-40px;margin-left:0;animation:logoAnimation 2s ease-in-out forwards}.home-image img{max-width:100%;height:auto;max-height:clamp(200px,50vw,500px)}.home-form-wrapper{flex:.8;max-width:clamp(300px,35vw,400px);width:100%;display:flex;flex-direction:column;justify-content:flex-start;align-self:center;margin-top:0;margin-left:0;animation:formAnimation 2s ease-in-out forwards}.home-header{text-align:center;margin-bottom:clamp(1rem,2vw,1.5rem)}.home-header h1{font-size:clamp(1.4rem,4.5vw,2rem);margin-bottom:.5rem;color:#fff;word-spacing:.3em;font-weight:600}.home-header p{font-size:clamp(.9rem,1.5vw,1.125rem);color:#ffffffe6;font-weight:400}@media(max-width:1024px){.home-content{max-width:90%}}@media(max-width:768px){.home-container{min-height:100vh;height:auto;flex-direction:column;gap:.5rem;padding:2rem 1rem 1.5rem;align-items:center;justify-content:flex-start}.home-content{flex-direction:column;gap:.5rem;width:100%;height:auto;min-height:auto;align-items:center}.home-image{margin-top:0;margin-left:0;flex:0 0 auto;width:100%;animation:logoAnimationMobile 2s ease-in-out forwards;justify-content:center}.home-image img{max-height:280px}.home-form-wrapper{max-width:100%;margin:1rem auto 2rem;width:100%;padding:0 .5rem}.home-header h1{font-size:1.4rem;margin-bottom:.8rem}}@media(max-width:480px){.home-container{min-height:100vh;height:auto;padding:1.5rem .75rem 1rem;gap:.5rem;align-items:center}.home-content{flex-direction:column;gap:.5rem;width:100%;height:auto;align-items:center}.home-image{flex:0 0 auto;width:100%;animation:logoAnimationMobile 2s ease-in-out forwards;margin-top:0;margin-left:0;justify-content:center}.home-image img{max-height:220px}.home-form-wrapper{max-width:100%;margin:.75rem auto 2rem;width:100%;padding:0 .5rem}.home-header h1{font-size:1.3rem;margin-bottom:.5rem;line-height:1.3}.home-header p{font-size:.85rem}}@media(max-width:375px){.home-container{padding:1rem .5rem .75rem;align-items:center}.home-image img{max-height:180px}.home-form-wrapper{margin:.5rem auto 1.5rem;padding:0 .5rem}.home-header h1{font-size:1.15rem}.home-header p{font-size:.8rem}}.ticket-container{min-height:100vh;background:#0277bd;padding:2rem 1rem}.ticket-header{text-align:center;color:#fff;margin-bottom:2rem;animation:fadeIn .6s ease-out}.ticket-header h1{font-size:2.5rem;margin-bottom:.5rem}.ticket-header p{font-size:1rem;opacity:.9}.ticket-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto 2rem;animation:slideUp .8s ease-out}.ticket-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 20px 60px #0000004d;transition:transform .3s ease,box-shadow .3s ease}.ticket-card:hover{transform:translateY(-8px);box-shadow:0 30px 80px #0006}.ticket-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.ticket-card-header svg{color:#007bff}.ticket-card-header h2{font-size:1.5rem;color:#1a1a1a;margin:0}.ticket-card-body{display:flex;flex-direction:column;gap:1.5rem}.ticket-info h3{font-size:1.5rem;color:#1a1a1a;margin-bottom:1rem}.ticket-detail{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;color:#555;font-size:.9375rem}.ticket-detail svg{color:#007bff;flex-shrink:0}.qr-code-wrapper{display:flex;flex-direction:column;align-items:center;background:#f8f9fa;padding:1.5rem;border-radius:12px}.qr-label{margin-top:.75rem;font-weight:600;color:#333;font-size:.9375rem}.ticket-main .qr-code-wrapper{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.ticket-food .qr-code-wrapper{background:linear-gradient(135deg,#e8f5e9,#c8e6c9)}.ticket-food .ticket-card-header svg{color:#2d6a4f}.food-info{background:#f8f9fa;padding:1.25rem;border-radius:8px;border-left:4px solid #2d6a4f}.food-info p{margin:.5rem 0;color:#333;font-size:.9375rem}.food-note{font-style:italic;color:#666;font-size:.875rem;margin-top:.75rem}.ticket-actions{display:flex;gap:1rem;max-width:1200px;margin:0 auto 2rem;animation:fadeIn 1s ease-out}.btn-primary,.btn-danger{flex:1;padding:1rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary{background:#007bff;color:#fff;box-shadow:0 4px 12px #007bff66}.btn-primary:hover{background:#0056b3;transform:translateY(-2px);box-shadow:0 6px 20px #007bff80}.btn-danger{background:#dc3545;color:#fff;box-shadow:0 4px 12px #dc354566}.btn-danger:hover{background:#c82333;transform:translateY(-2px);box-shadow:0 6px 20px #dc354580}.btn-primary:active,.btn-danger:active{transform:translateY(0)}.ticket-footer{text-align:center;color:#fff;max-width:600px;margin:0 auto;animation:fadeIn 1.2s ease-out}.ticket-footer p{margin:.5rem 0;font-size:1rem}.ticket-footer-small{opacity:.8;font-size:.875rem}.ticket-error{background:#fff;padding:3rem 2rem;border-radius:16px;text-align:center;max-width:500px;margin:4rem auto;box-shadow:0 20px 60px #0000004d}.ticket-error h2{font-size:2rem;color:#1a1a1a;margin-bottom:1rem}.ticket-error p{color:#666;margin-bottom:2rem;font-size:1.125rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media print{.ticket-container{background:#fff}.ticket-header,.ticket-actions,.ticket-footer{display:none}.ticket-grid{gap:1rem}.ticket-card{box-shadow:none;border:2px solid #333;page-break-inside:avoid}}@media(max-width:1024px){.ticket-grid{max-width:90%}.ticket-card{padding:1.5rem}}@media(max-width:768px){.ticket-header h1{font-size:2rem}.ticket-grid{grid-template-columns:1fr;gap:1.5rem;max-width:100%}.ticket-card{padding:1.5rem}.ticket-actions{flex-direction:column}.btn-primary,.btn-danger{width:100%}.qr-code-wrapper svg{max-width:100%;height:auto}}@media(max-width:480px){.ticket-container{padding:1rem .75rem}.ticket-header h1{font-size:1.75rem}.ticket-header p{font-size:.875rem}.ticket-card{padding:1.25rem}.ticket-card-header h2,.ticket-info h3{font-size:1.25rem}.ticket-detail{font-size:.875rem}.qr-code-wrapper{padding:1rem}.ticket-error{padding:2rem 1.5rem;margin:2rem 1rem}.ticket-error h2{font-size:1.5rem}.ticket-error p{font-size:1rem}.btn-primary,.btn-danger{padding:.875rem 1.25rem;font-size:.95rem}.food-info{padding:1rem}.food-info p{font-size:.85rem}}@media(max-width:375px){.ticket-container{padding:.75rem .5rem}.ticket-header{margin-bottom:1.5rem}.ticket-header h1{font-size:1.5rem}.ticket-header p{font-size:.8rem}.ticket-card{padding:1rem}.ticket-card-header h2,.ticket-info h3{font-size:1.1rem}.ticket-detail{font-size:.8rem}.ticket-detail-label{font-size:.75rem}.qr-code-wrapper{padding:.875rem}.ticket-error{padding:1.5rem 1rem;margin:1.5rem .75rem}.ticket-error h2{font-size:1.3rem}.ticket-error p{font-size:.9rem}.btn-primary,.btn-danger{padding:.75rem 1rem;font-size:.9rem}.food-info{padding:.875rem}.food-info p{font-size:.8rem}.food-note{font-size:.75rem}}.delete-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:clamp(10px,5vw,20px);overflow:auto}.delete-box{background:#fff;border-radius:12px;padding:clamp(20px,5vw,40px);max-width:500px;width:100%;box-shadow:0 10px 40px #0003}.delete-box h1{text-align:center;margin-bottom:clamp(15px,4vw,30px);color:#333;font-size:clamp(1.3rem,5vw,1.8rem)}.info{text-align:center;color:#666;margin-bottom:clamp(12px,3vw,20px);font-size:clamp(.9rem,2vw,1rem)}.attendee-info{background:#f5f5f5;padding:clamp(12px,3vw,20px);border-radius:8px;margin:clamp(12px,3vw,20px) 0}.attendee-info p{margin:clamp(5px,1vw,10px) 0;color:#333;font-size:clamp(.85rem,2vw,1rem)}.warning{background:#fff3cd;border-left:4px solid #ffc107;padding:clamp(10px,2vw,15px);border-radius:4px;margin:clamp(12px,3vw,20px) 0;font-size:clamp(.85rem,2vw,.95rem)}.warning p{margin:8px 0;color:#856404;font-size:14px}.checkbox{display:flex;align-items:center;margin:20px 0;cursor:pointer}.checkbox input{width:20px;height:20px;margin-right:10px;cursor:pointer}.checkbox span{color:#333;font-size:14px}.delete-btn{width:100%;padding:16px;background:#007bff;color:#fff;border:none;border-radius:6px;font-size:18px;font-weight:700;cursor:pointer;margin-top:20px;transition:background .3s}.delete-btn:hover:not(:disabled){background:#0056b3}.delete-btn:disabled{background:#ccc;cursor:not-allowed}.cancel-btn{width:100%;padding:12px;background:#9e9e9e;color:#fff;border:none;border-radius:6px;font-size:16px;cursor:pointer;margin-top:10px;transition:background .3s}.cancel-btn:hover{background:#757575}.result{padding:20px;border-radius:8px;text-align:center}.result.success{background:#d4edda;color:#155724}.result.error{background:#f8d7da;color:#721c24}.result p{margin:10px 0;font-size:16px}.redirect{font-size:14px;color:inherit;margin-top:15px}.error-msg{text-align:center;color:#d32f2f;padding:20px;background:#ffebee;border-radius:8px}
