*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2563eb;--primary-hover: #1d4ed8;--primary-light: #eff6ff;--primary-50: #dbeafe;--success: #16a34a;--success-light: #f0fdf4;--danger: #dc2626;--danger-light: #fef2f2;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--radius: 10px;--radius-lg: 16px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, .15)}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--gray-800);background:var(--gray-50);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-wrapper{min-height:100vh}.landing-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e3a8a 40%,#2563eb,#3b82f6);color:#fff;padding:2rem;text-align:center;position:relative;overflow:hidden}.bg-shapes{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.shape{position:absolute;border-radius:50%;background:#ffffff08;animation:float 20s ease-in-out infinite}.shape-1{width:400px;height:400px;top:-100px;right:-100px;animation-delay:0s;animation-duration:25s}.shape-2{width:300px;height:300px;bottom:-80px;left:-80px;animation-delay:-5s;animation-duration:20s}.shape-3{width:200px;height:200px;top:40%;left:10%;animation-delay:-10s;animation-duration:30s}.shape-4{width:150px;height:150px;top:20%;right:15%;animation-delay:-7s;animation-duration:22s}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-30px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(15px,10px) scale(1.02)}}.landing-card{max-width:640px;width:100%;position:relative;z-index:1;animation:fadeInUp .8s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.badge{display:inline-block;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);padding:.4rem 1.25rem;border-radius:50px;font-size:.85rem;font-weight:500;letter-spacing:.03em;margin-bottom:1.5rem}.landing-card h1{font-size:3rem;font-weight:800;margin-bottom:1rem;line-height:1.15;letter-spacing:-.02em}.landing-card p{font-size:1.15rem;opacity:.85;margin-bottom:2rem;line-height:1.7;max-width:500px;margin-left:auto;margin-right:auto}.features{display:flex;justify-content:center;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}.feature{display:flex;flex-direction:column;align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;opacity:.9}.feature-icon{width:48px;height:48px;background:#ffffff1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;display:flex;align-items:center;justify-content:center;transition:transform .3s,background .3s}.feature:hover .feature-icon{transform:translateY(-3px);background:#fff3}.action-hub{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.btn-register{display:inline-flex;align-items:center;gap:.5rem;background:#fff;color:var(--primary);font-size:1.1rem;font-weight:600;padding:1rem 2.5rem;border:none;border-radius:50px;cursor:pointer;transition:transform .25s,box-shadow .25s;box-shadow:0 4px 20px #0003;text-decoration:none;position:relative;overflow:hidden}.btn-register:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(37,99,235,.08) 100%);opacity:0;transition:opacity .3s}.btn-register:hover{transform:translateY(-3px);box-shadow:0 8px 30px #00000040}.btn-register:hover:after{opacity:1}.btn-register:active{transform:translateY(-1px)}.brochure-link{color:#fffc;text-decoration:none;font-size:.95rem;display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;transition:color .2s,background .2s}.brochure-link:hover{color:#fff;background:#ffffff1a}.register-page{min-height:100vh;padding:2rem 1rem;display:flex;justify-content:center;align-items:flex-start;background:linear-gradient(180deg,var(--primary-light) 0%,var(--gray-50) 300px)}.register-container{max-width:640px;width:100%;margin-top:1rem}.back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--gray-500);text-decoration:none;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;padding:.35rem .75rem;border-radius:6px;transition:color .2s,background .2s}.back-link:hover{color:var(--primary);background:#fff}.register-header{text-align:center;margin-bottom:1.5rem}.register-header h1{font-size:1.75rem;font-weight:700;color:var(--gray-900);margin-bottom:.35rem;letter-spacing:-.01em}.register-header p{color:var(--gray-500);font-size:.95rem}.step-indicator{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:2rem}.step{display:flex;flex-direction:column;align-items:center;gap:.4rem}.step-dot{width:36px;height:36px;border-radius:50%;border:2px solid var(--gray-300);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--gray-400);background:#fff;transition:all .4s ease}.step.active .step-dot{border-color:var(--primary);color:var(--primary);box-shadow:0 0 0 4px var(--primary-light)}.step.completed .step-dot{border-color:var(--success);background:var(--success);color:#fff;box-shadow:0 0 0 4px var(--success-light)}.step-label{font-size:.75rem;font-weight:500;color:var(--gray-400);transition:color .3s}.step.active .step-label{color:var(--primary)}.step.completed .step-label{color:var(--success)}.step-line{width:80px;height:2px;background:var(--gray-200);margin:0 .75rem 1.4rem;border-radius:1px;transition:background .4s}.step-line.filled{background:var(--success)}.form-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem;border:1px solid rgba(0,0,0,.04)}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.section-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--primary);margin-bottom:1.25rem;padding-bottom:.6rem;border-bottom:2px solid var(--primary-light);display:flex;align-items:center;gap:.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.4rem}.input-wrap{position:relative}.input-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;animation:popIn .3s ease}.input-icon.valid{color:var(--success)}@keyframes popIn{0%{opacity:0;transform:translateY(-50%) scale(.5)}to{opacity:1;transform:translateY(-50%) scale(1)}}.form-group input,.form-group select{width:100%;padding:.75rem 1rem;border:1.5px solid var(--gray-200);border-radius:var(--radius);font-size:.95rem;font-family:inherit;color:var(--gray-800);background:#fff;transition:border-color .25s,box-shadow .25s,background .25s;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.input-wrap input{padding-right:2.5rem}.form-group input::placeholder{color:var(--gray-400)}.form-group input:hover,.form-group select:hover{border-color:var(--gray-400)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a;background:#fff}.form-group input.is-valid{border-color:var(--success);background:var(--success-light)}.form-group input.is-valid:focus{box-shadow:0 0 0 3px #16a34a1a}.form-group input.is-invalid{border-color:var(--danger);background:var(--danger-light)}.form-group input.is-invalid:focus{box-shadow:0 0 0 3px #dc26261a}.field-error{color:var(--danger);font-size:.8rem;margin-top:.35rem;display:flex;align-items:center;gap:.25rem;animation:slideDown .2s ease}.field-hint{color:var(--gray-500);font-size:.8rem;margin-top:.35rem;font-style:italic}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.selected-date-card{padding:.85rem 1rem;background:var(--primary-light);border:1.5px solid var(--primary-50);border-radius:var(--radius);color:var(--primary);font-weight:500;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.fade-enter-active{transition:opacity .4s ease,transform .4s ease}.fade-leave-active{transition:opacity .2s ease,transform .2s ease}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(-10px)}.btn-submit{width:100%;padding:.9rem;background:var(--primary);color:#fff;font-size:1rem;font-weight:600;border:none;border-radius:var(--radius);cursor:pointer;transition:background .25s,transform .15s,box-shadow .25s;margin-top:1.5rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-submit:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 4px 12px #2563eb4d;transform:translateY(-1px)}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.spinner{width:18px;height:18px;border:2.5px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.modal-content{background:#fff;border-radius:var(--radius-lg);max-width:480px;width:100%;box-shadow:var(--shadow-xl);overflow:hidden}.modal-header{padding:1.5rem 1.5rem .75rem;display:flex;align-items:flex-start;gap:.75rem}.modal-icon{width:42px;height:42px;background:var(--primary-light);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary);flex-shrink:0}.modal-header h2{font-size:1.1rem;color:var(--gray-900);font-weight:600;line-height:1.4}.modal-body{padding:.75rem 1.5rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.radio-card{border:2px solid var(--gray-200);border-radius:var(--radius);padding:1rem 1.25rem;cursor:pointer;transition:border-color .2s,background .2s,transform .15s;display:flex;align-items:center;gap:.75rem}.radio-card:hover{border-color:var(--primary);background:var(--primary-light);transform:translateY(-1px)}.radio-card.selected{border-color:var(--primary);background:var(--primary-light)}.radio-card input[type=radio]{accent-color:var(--primary);width:18px;height:18px;flex-shrink:0}.radio-card-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.radio-card-info .date-range{font-weight:600;color:var(--gray-800);font-size:.95rem;display:flex;align-items:center;gap:.4rem}.radio-card-info .time-range{color:var(--gray-500);font-size:.85rem;display:flex;align-items:center;gap:.4rem}.radio-check{width:28px;height:28px;background:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0;animation:popIn .25s ease}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.btn-cancel{padding:.625rem 1.25rem;border:1.5px solid var(--gray-200);background:#fff;border-radius:var(--radius);font-size:.9rem;font-weight:500;color:var(--gray-600);cursor:pointer;transition:background .2s,border-color .2s;font-family:inherit}.btn-cancel:hover{background:var(--gray-100);border-color:var(--gray-300)}.btn-confirm{padding:.625rem 1.25rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s,transform .15s;font-family:inherit}.btn-confirm:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-confirm:disabled{opacity:.45;cursor:not-allowed}.modal-enter-active{transition:opacity .3s ease}.modal-leave-active{transition:opacity .2s ease}.modal-enter-from,.modal-leave-to{opacity:0}.modal-enter-active .modal-content{animation:modalSlideIn .35s ease-out}.modal-leave-active .modal-content{animation:modalSlideOut .2s ease-in}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.92) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideOut{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.success-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,var(--success-light) 0%,var(--gray-50) 300px)}.success-card{text-align:center;background:#fff;border-radius:var(--radius-lg);padding:3rem 2.5rem;max-width:480px;width:100%;box-shadow:var(--shadow-lg);border:1px solid rgba(0,0,0,.04);animation:fadeInUp .6s ease-out}.success-icon{width:80px;height:80px;background:var(--success-light);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.success-icon svg{width:40px;height:40px;color:var(--success)}.check-animation{stroke-dasharray:30;stroke-dashoffset:30;animation:drawCheck .6s ease-out .3s forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-card h1{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin-bottom:.75rem}.success-card p{color:var(--gray-500);margin-bottom:2rem;line-height:1.7;font-size:.95rem}.btn-home{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.75rem;background:var(--primary);color:#fff;text-decoration:none;border-radius:var(--radius);font-weight:500;transition:background .25s,transform .15s,box-shadow .25s}.btn-home:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2563eb4d}@media (max-width: 640px){.landing-card h1{font-size:2rem}.landing-card p{font-size:1rem}.features{gap:1rem}.feature{font-size:.8rem}.feature-icon{width:40px;height:40px}.feature-icon svg{width:18px;height:18px}.form-card{padding:1.5rem;border-radius:var(--radius)}.register-container{margin-top:.5rem}.step-line{width:50px}.modal-content{margin:.5rem;border-radius:var(--radius)}.success-card{padding:2rem 1.5rem}}@media (max-width: 380px){.features{flex-direction:column;gap:.75rem}.feature{flex-direction:row}}
