.group{margin:20px 0;position:relative}.group .input-icon{color:#94a3b8;font-size:16px;left:18px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:color .3s ease;z-index:3}.group .form-input{background:#fffffff2;border:2px solid #94a3b84d;border-radius:8px;color:#132e23;display:block;font-family:inherit;font-size:16px;margin:0;padding:14px 16px;transition:all .3s ease;width:100%}.group .form-input.has-icon{padding-left:48px}.group .form-input:focus{background:#fff;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;outline:none}.group .form-input:hover{border-color:#94a3b880}.group .form-input:focus~.form-input-label{color:#10b981;font-size:12px;font-weight:600;top:-14px}.group .form-input:focus~.input-icon{color:#10b981}.group .form-input.error{border-color:#ef4444}.group .form-input.error:focus{box-shadow:0 0 0 3px #ef44441a}.group .form-input.error:focus~.input-icon{color:#ef4444}.group input[type=password]{letter-spacing:.3em}.group .form-input-label{background:#0000;color:#94a3b8;font-size:14px;font-weight:500;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:14px;transition:all .3s ease}.group .form-input-label.shrink{background:#1c1c1c;color:#10b981;font-size:12px;font-weight:600;left:12px;top:-14px;top:-10px}.group .form-input.has-icon~.form-input-label{left:48px}.group .form-input.has-icon.shrink~.form-input-label,.group .form-input.has-icon:focus~.form-input-label{left:12px}.group .helper-text{color:#94a3b8;font-size:12px;margin-left:4px;margin-top:4px}.group .error-message{align-items:center;color:#ef4444;display:flex;font-size:12px;gap:4px;margin-left:4px;margin-top:8px}.group .error-message svg{font-size:10px}.button-container{align-items:center;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 4px 12px #10b98133;color:#fff;cursor:pointer;display:flex;font-family:Oxygen,sans-serif;font-size:15px;font-weight:700;gap:.5rem;height:50px;justify-content:center;letter-spacing:.5px;line-height:25px;min-width:165px;overflow:hidden;padding:10px 20px;position:relative;text-transform:uppercase;transition:all .3s ease;width:auto}.button-container:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.button-container:hover{box-shadow:0 6px 20px #10b9814d;transform:translateY(-2px)}.button-container:hover:before{left:100%}.button-container:active{box-shadow:0 2px 8px #10b98133;transform:translateY(0)}.button-container:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-container:disabled:hover{box-shadow:0 4px 12px #10b98133;transform:none}.button-container.google-sign-in{align-items:center;background:#fff;border:1px solid #747775;border-radius:24px;box-shadow:none;color:#1f1f1f;display:flex;font-family:Google Sans,Roboto,Oxygen,sans-serif;font-size:14px;font-weight:500;gap:12px;height:48px;justify-content:center;letter-spacing:.25px;min-width:200px;padding:12px 24px;text-transform:none;width:100%}.button-container.google-sign-in:before{display:none}.button-container.google-sign-in svg{color:#4285f4;flex-shrink:0;font-size:18px;height:18px;width:18px}.button-container.google-sign-in span{color:#1f1f1f;font-weight:500}.button-container.google-sign-in:hover{background:#f2f2f2;border-color:#747775;box-shadow:0 1px 3px #3c404326;transform:none}.button-container.google-sign-in:focus{border-color:#4285f4;box-shadow:0 0 0 2px #4285f433;outline:none}.button-container.google-sign-in:active{background:#e8e8e8;transform:none}.button-container.google-sign-in:disabled{background:#fff;border-color:#c4c7c5;color:#1f1f1f61;cursor:not-allowed;opacity:.6}.button-container.google-sign-in:disabled svg{opacity:.5}.button-container.google-sign-in:disabled span{color:#1f1f1f61}.button-container.google-sign-in:disabled:hover{background:#fff;box-shadow:none}.button-container.inverted{background:#fff;border:1px solid #000;color:#000}.button-container.inverted:hover{background:#000;border:none;color:#fff}.button-container.secondary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #fff3}.button-container.secondary:hover{background:#fff3;border-color:#ffffff4d}.button-container .button--medium{font-size:16px;padding:10px 24px}.button-container .button--large{font-size:18px;height:56px;padding:14px 32px}.button-container.loading{pointer-events:none}.button-container.loading svg{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.sign-up-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;color:#fff;display:flex;flex-direction:column;font-size:1em;margin:0;max-width:450px;padding:2.5rem;transition:all .3s ease;width:100%}.sign-up-container:hover{border-color:#10b9814d;box-shadow:0 8px 32px #10b9811a}@media(max-width:968px){.sign-up-container{margin:0;padding:2rem 1.5rem}}.sign-up-container h2{color:#fff;font-size:1.8em;margin:0 0 10px}.sign-up-container span{color:#fffc;display:block;font-size:.95em;line-height:1.5;margin-bottom:1.5rem}.sign-up-container .signup-benefits{background:#10b98114;border:1px solid #10b9814d;border-radius:10px;margin:1rem 0 .75rem;padding:1rem}.sign-up-container .signup-benefits strong{color:#fff}.sign-up-container .signup-benefits ul{margin:.65rem 0 0;padding-left:1.2rem}.sign-up-container .signup-benefits li{color:#ffffffd9;margin:.35rem 0}.sign-up-container .signup-reassurance{color:#ffffffb8;font-size:.85rem;line-height:1.5;margin:0 0 1rem}.sign-up-container .buttons-container{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}@media(max-width:480px){.sign-up-container .buttons-container{flex-direction:column;gap:.75rem}}.sign-up-container.assessment-signup{background:#10b9810d;border-color:#10b98166}.sign-in-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff1a;border-radius:16px;color:#fff;display:flex;flex-direction:column;font-size:1em;margin:0;max-width:450px;padding:2.5rem;transition:all .3s ease;width:100%}.sign-in-container:hover{border-color:#10b9814d;box-shadow:0 8px 32px #10b9811a}@media(max-width:968px){.sign-in-container{margin:0;padding:2rem 1.5rem}}.sign-in-container h2{font-size:1.8em;margin:0 0 10px}.sign-in-container span{color:#fffc;display:block;font-size:.95em;margin-bottom:1.5rem}.sign-in-container .forgot-password-link{margin-bottom:15px;margin-top:-10px;text-align:right}.sign-in-container .forgot-password-link .link-button{background:none;border:none;color:#10b981;cursor:pointer;font-size:.9rem;padding:.25rem 0;text-decoration:none;transition:all .3s ease}.sign-in-container .forgot-password-link .link-button:hover{color:#059669;text-decoration:underline}.sign-in-container .buttons-container{display:flex;flex-direction:column;gap:1rem;margin-top:1rem;width:100%}.sign-in-container .buttons-container button{width:100%}.sign-in-container .buttons-container .divider{align-items:center;color:#ffffff80;display:flex;margin:10px 0;text-align:center}.sign-in-container .buttons-container .divider:after,.sign-in-container .buttons-container .divider:before{border-bottom:1px solid #ffffff1a;content:"";flex:1 1}.sign-in-container .buttons-container .divider span{color:#ffffff80;font-size:.8em;margin:0;padding:0 10px}.sign-in-container .success-message{animation:slideIn .3s ease;background:linear-gradient(135deg,#10b981,#059669);border-radius:8px;color:#fff;font-weight:500;margin-bottom:16px;padding:12px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.authentication-container{display:flex;gap:3rem;justify-content:space-between;margin:30px auto;max-width:1200px;padding:2rem;width:100%}@media(max-width:968px){.authentication-container{align-items:center;flex-direction:column;gap:2rem;padding:1rem}}.authentication-container:before{background:linear-gradient(135deg,#10b9810d,#15803d0d);border-radius:16px;content:"";inset:0;position:absolute;z-index:-1}h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;font-size:1.8em;font-weight:700;margin:10px 0 20px}@media(max-width:768px){h2{font-size:1.4em}}