.register-container{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 100%);min-height:100vh;position:relative;overflow:hidden}.register-container:before{content:"";opacity:.05;z-index:0;background-image:url(/images/streets-of-johannesburg-city-map-south-africa-street-map-KJRR5J.jpg);background-position:50%;background-size:cover;position:absolute;inset:0}.glass-stepper{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;margin-bottom:32px;padding:24px}.step-item{align-items:center;display:flex;position:relative}.step-number{color:#fff;z-index:2;background:#ffffff0d;border:2px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:600;transition:all .3s;display:flex}.step-number.active{color:#0a0a0a;background:linear-gradient(135deg,#eab308 0%,#ca8a04 100%);border-color:#eab308;box-shadow:0 0 20px #eab30866}.step-number.completed{color:#fff;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-color:#10b981}.step-line{background:#ffffff1a;flex:1;height:2px;margin:0 8px;position:relative}.step-line.completed{background:linear-gradient(90deg,#10b981 0%,#eab308 100%)}.step-label{color:#ffffff80;margin-top:8px;font-size:14px;transition:all .3s}.step-label.active{color:#eab308;font-weight:600}.step-label.completed{color:#10b981}.sub-step-dots{justify-content:center;gap:8px;margin:16px 0;display:flex}.sub-step-dot{background:#fff3;border-radius:50%;width:8px;height:8px;transition:all .3s}.sub-step-dot.active{background:#eab308;border-radius:4px;width:24px}.file-upload{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;cursor:pointer;background:#ffffff08;border:2px dashed #fff3;border-radius:12px;padding:32px;transition:all .3s;position:relative}.file-upload:hover{background:#ffffff0d;border-color:#eab30880}.file-upload.has-file{background:#eab3080d;border-style:solid;border-color:#eab308cc}.file-upload input[type=file]{opacity:0;cursor:pointer;position:absolute;inset:0}.file-icon{color:#fff6;width:48px;height:48px;margin:0 auto 12px;transition:all .3s}.file-upload:hover .file-icon{color:#eab308;transform:scale(1.1)}.file-name{color:#eab308;margin-top:8px;font-weight:600}.error-message{color:#ef4444;align-items:center;gap:6px;margin-top:8px;font-size:13px;display:flex}.error-icon{width:16px;height:16px}.nav-buttons{gap:16px;margin-top:32px;display:flex}.secondary-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#ffffff0d;border:1px solid #fff3;border-radius:12px;padding:12px 32px;font-weight:600;transition:all .3s}.secondary-button:hover:not(:disabled){background:#ffffff1a;border-color:#fff6;transform:translateY(-2px)}.secondary-button:disabled{opacity:.4;cursor:not-allowed}.progress-bar{background:#ffffff1a;border-radius:3px;width:100%;height:6px;margin:24px 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#eab308 0%,#ca8a04 100%);height:100%;transition:width .5s;position:relative;overflow:hidden}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);animation:1.5s infinite shimmer-progress;position:absolute;inset:0}@keyframes shimmer-progress{to{transform:translate(100%)}}.success-modal{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;background:#000c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.success-modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);text-align:center;background:linear-gradient(135deg,#ffffff1a 0%,#ffffff0d 100%);border:1px solid #ffffff1a;border-radius:24px;max-width:500px;padding:48px}.success-icon{color:#10b981;width:80px;height:80px;margin:0 auto 24px;animation:.5s success-pop}@keyframes success-pop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@media (max-width:768px){.glass-stepper{padding:16px}.step-number{width:32px;height:32px;font-size:14px}.step-label{font-size:12px}.nav-buttons{flex-direction:column}.secondary-button,.yellow-button{width:100%}}
