.auth-container{background:var(--auth-bg-image) no-repeat center center/cover;background-attachment:fixed;justify-content:center;align-items:center;min-height:100vh;padding:20px 20px 60px;display:flex;position:relative}.auth-container:before{content:"";z-index:1;background-color:#0006;width:100%;height:100%;position:absolute;top:0;left:0}.auth-card{z-index:2;background-color:#fffffff2;border-radius:12px;width:100%;max-width:450px;padding:30px;transition:transform .3s,box-shadow .3s;position:relative;box-shadow:0 8px 20px #0003}.auth-card:hover{box-shadow:0 12px 28px #00000040}.auth-card h2{color:var(--primary-green);text-align:center;margin-bottom:8px;font-size:28px}.auth-card .step-indicator{text-align:center;color:var(--medium-grey);margin-top:0;margin-bottom:24px;font-size:16px}.auth-card .already-member{text-align:center;margin-bottom:24px;font-size:16px}.auth-card .already-member a{color:var(--primary-green);font-weight:600;text-decoration:none}.auth-card .already-member a:hover{text-decoration:underline}.auth-card .form-group{margin-bottom:20px}.auth-card .form-group label{color:var(--text-dark);margin-bottom:6px;font-weight:600;display:block}.auth-card .form-group input,.auth-card .form-group select{width:100%;padding:12px 15px;font-size:16px}.auth-card .form-group input:focus,.auth-card .form-group select:focus{border-color:var(--primary-green);outline:none}.auth-card .form-row{gap:15px;margin-bottom:20px;display:flex}.auth-card .form-row .form-group{flex:1;margin-bottom:0}.auth-card .phone-input-with-flags{width:100%;font-size:16px}.auth-card .PhoneInput{background-color:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;height:45px;padding:0 10px 0 15px;display:flex}.auth-card .PhoneInput:focus-within{border-color:var(--primary-green);outline:none}.auth-card .PhoneInput.error{border-color:#dc3545}.auth-card .error-message{color:#dc3545;margin-top:5px;font-size:14px;display:block}.auth-card .PhoneInputCountry{border-right:none;align-self:stretch;align-items:center;margin-right:10px;padding-right:10px;display:flex;position:relative}.auth-card .PhoneInputCountrySelect{z-index:1;opacity:0;cursor:pointer;border:0;width:100%;height:100%;position:absolute;top:0;left:0}.auth-card .PhoneInputCountryIcon{justify-content:center;align-items:center;width:24px;height:20px;display:flex}.auth-card .PhoneInputCountryIcon--border{box-shadow:none;background-color:#0000}.auth-card .PhoneInputInput{background:0 0;border:none;flex:1;min-width:0;height:43px;padding:0 5px;font-size:16px;box-shadow:none!important;outline:none!important}.auth-card .PhoneInputInput:focus{box-shadow:none!important;border:none!important;outline:none!important}.auth-card select.PhoneInputCountrySelect option{color:inherit}.auth-card .input-help-text{color:var(--medium-grey);margin-top:6px;font-size:13px}.auth-card .checkbox-group{margin-bottom:20px}.auth-card .checkbox-container{cursor:pointer;align-items:flex-start;display:flex}.auth-card .checkbox-container input[type=checkbox]{width:auto;margin-top:3px;margin-right:10px}.auth-card .checkbox-text{color:#333;font-size:14px;font-weight:400;line-height:1.4}.auth-card .button-group{gap:15px;display:flex}.auth-card .back-button,.auth-card .next-button{flex:1}.auth-card .back-button{color:#333;cursor:pointer;background-color:#e0e0e0;border:none;border-radius:6px;flex:1;margin-top:10px;padding:12px;font-size:16px;font-weight:600;transition:background-color .3s}.auth-card .back-button:hover{background-color:#d0d0d0}.auth-card .back-button:disabled{cursor:not-allowed;background-color:#ccc}.auth-container .auth-button{background-color:var(--primary-green);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:10px;padding:12px;font-size:16px;font-weight:600;transition:background-color .3s}.auth-container .auth-button:hover{background-color:var(--primary-green-hover)}.auth-container .auth-button:disabled{cursor:not-allowed;background-color:#8fac8a}.auth-card .password-requirements{background-color:#f9f9f9;border-radius:4px;margin-top:10px;padding:10px}.auth-card .password-requirements p{margin:0 0 5px;font-size:14px;font-weight:600}.auth-card .password-requirements ul{margin:0;padding-left:20px}.auth-card .password-requirements li{color:#666;margin-bottom:3px;font-size:13px}.auth-card .password-requirements li.met{color:var(--primary-green)}.auth-card .password-requirements li.met::marker{color:var(--primary-green)}.auth-popup-overlay{z-index:10000!important;box-sizing:border-box!important;background-color:#0009!important;justify-content:center!important;align-items:center!important;padding:20px!important;display:flex!important;position:fixed!important;top:0!important;bottom:0!important;left:0!important;right:0!important}.auth-popup-content{background-color:#fff!important;border-radius:8px!important;width:90%!important;max-width:500px!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;overflow:hidden!important;box-shadow:0 4px 20px #0003!important}.auth-popup-header{border-bottom:1px solid #ddd!important;border-left:4px solid var(--primary-green)!important;background-color:#fff!important;justify-content:space-between!important;align-items:center!important;padding:15px 20px!important;display:flex!important}.auth-popup-header h3{color:#333!important;margin:0!important;font-size:18px!important;font-weight:600!important;line-height:1.2!important}.auth-close-button{cursor:pointer!important;color:#666!important;background:0 0!important;border:none!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;font-size:24px!important;line-height:1!important}.auth-close-button:hover{color:#333!important}.auth-popup-body{background-color:#fff!important;padding:20px!important}.auth-popup-body p{color:#333!important;margin:0 0 20px!important;font-size:14px!important;line-height:1.5!important}.auth-container .auth-error{color:#c62828!important;background-color:#ffebee!important;border:1px solid #f8bbd9!important;border-radius:6px!important;margin-bottom:20px!important;padding:12px!important;font-size:14px!important;font-weight:500!important;display:block!important}.auth-container .auth-success{color:#2e7d32;background-color:#e8f5e9;border-radius:6px;margin-bottom:20px;padding:12px;font-size:14px}.auth-container .auth-links{text-align:center;margin-top:20px}.auth-container .auth-links a{color:var(--primary-green);font-weight:500;text-decoration:none}.auth-container .auth-links a:hover{text-decoration:underline}.auth-container .auth-footer{text-align:center;color:#666;margin-top:30px;font-size:14px}.auth-container .auth-footer a{color:var(--primary-green);font-weight:600;text-decoration:none}.auth-container .auth-footer a:hover{text-decoration:underline}@media (max-width:480px){.auth-card{padding:20px}.auth-card h2{font-size:24px}.auth-card .form-group input,.auth-card .form-group select,.auth-container .auth-button{padding:10px;font-size:14px}.auth-card .form-row{flex-direction:column;gap:15px}}.auth-container .loading-container{flex-direction:column;justify-content:center;align-items:center;min-height:300px;padding:2rem;display:flex}.auth-container .loading-spinner{border:4px solid #0000001a;border-top-color:var(--primary-green);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s ease-in-out infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:768px){.auth-container{background-attachment:scroll;padding:10px}}.auth-card .PhoneInput{background-color:#fff;border:1px solid #ddd;border-radius:6px;height:45px;padding:0 10px 0 15px}.auth-divider{text-align:center;align-items:center;margin:20px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid #ddd;flex:1}.auth-divider span{color:#666;padding:0 10px;font-size:14px}.social-auth-buttons{flex-direction:column;gap:12px;margin-bottom:20px;display:flex}.social-auth-button{cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;width:100%;padding:12px 15px;font-size:16px;font-weight:600;transition:background-color .2s,border-color .2s;display:flex}.google-auth-button{color:#444;border-color:#ddd;position:relative}.google-auth-button:before{content:"";background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\"><path fill=\"%23FFC107\" d=\"M43.611,20.083H42V20H24v8h11.303c-1.649,4.657-6.08,8-11.303,8c-6.627,0-12-5.373-12-12c0-6.627,5.373-12,12-12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C12.955,4,4,12.955,4,24c0,11.045,8.955,20,20,20c11.045,0,20-8.955,20-20C44,22.659,43.862,21.35,43.611,20.083z\"/><path fill=\"%23FF3D00\" d=\"M6.306,14.691l6.571,4.819C14.655,15.108,18.961,12,24,12c3.059,0,5.842,1.154,7.961,3.039l5.657-5.657C34.046,6.053,29.268,4,24,4C16.318,4,9.656,8.337,6.306,14.691z\"/><path fill=\"%234CAF50\" d=\"M24,44c5.166,0,9.86-1.977,13.409-5.192l-6.19-5.238C29.211,35.091,26.715,36,24,36c-5.202,0-9.619-3.317-11.283-7.946l-6.522,5.025C9.505,39.556,16.227,44,24,44z\"/><path fill=\"%231976D2\" d=\"M43.611,20.083H42V20H24v8h11.303c-0.792,2.237-2.231,4.166-4.087,5.571c0.001-0.001,0.002-0.001,0.003-0.002l6.19,5.238C36.971,39.205,44,34,44,24C44,22.659,43.862,21.35,43.611,20.083z\"/></svg>") 50%/contain no-repeat;width:18px;height:18px;position:absolute;left:15px}.google-auth-button:hover{background-color:#f5f5f5;border-color:#ccc}.apple-auth-button{color:#fff;background-color:#000;border-color:#000;position:relative}.apple-auth-button:before{content:"";background:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\" fill=\"white\"><path d=\"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z\"/></svg>") 50%/contain no-repeat;width:16px;height:16px;position:absolute;left:15px}.apple-auth-button:hover{background-color:#333}@media (max-width:480px){.social-auth-buttons{gap:10px}.social-auth-button{padding:10px;font-size:14px}}.profile-completion-intro{text-align:center;color:#666;margin-bottom:20px;font-size:16px}.login-page{min-height:100vh;position:relative}.login-hero-background{z-index:0;background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;width:100%;height:100%;position:fixed;top:0;left:0}.login-hero-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;width:100%;height:100%;position:absolute;top:0;left:0}.login-page .auth-container{z-index:1;background:0 0;position:relative}.login-page .auth-container:before{display:none}.login-page .auth-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffffa;border:1px solid #fff3;box-shadow:0 15px 35px #0000004d}.login-page .auth-card:hover{box-shadow:0 20px 45px #00000059}@media (max-width:768px){.login-hero-background{background-attachment:scroll}.login-page .auth-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fffffff5}}@media (max-width:480px){.login-hero-overlay{background-color:#0009}}.profile-completion-header{text-align:center;margin-bottom:25px}.profile-completion-header h2{margin-bottom:15px}.provider-info{background:var(--light-grey);border-left:4px solid var(--primary-green);color:var(--text-dark);border-radius:0 8px 8px 0;margin:0;padding:15px;font-size:.95rem;line-height:1.5}body.popup-positioning-fix{position:static!important;overflow:hidden!important;transform:none!important}body.popup-positioning-fix *{position:static!important;transform:none!important}body.popup-positioning-fix .auth-card,body.popup-positioning-fix .auth-container,body.popup-positioning-fix .login-page,body.popup-positioning-fix .hero,body.popup-positioning-fix .login-hero-background{z-index:auto!important;position:static!important;transform:none!important}div[role=dialog]{z-index:999999!important;position:fixed!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important}
