.auth-box{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 40px rgba(0,0,0,.1);margin:0 auto;max-width:420px;overflow:hidden;padding:2.5rem;position:relative}.auth-box:before{background:linear-gradient(90deg,#7c3aed,#d946ef);content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-box h3{color:#111827;font-weight:700}@media(max-width:600px){.auth-box{border-radius:12px;max-width:90%;padding:2rem 1.5rem}}@media(max-width:480px){.auth-box{margin:1rem;max-width:calc(100% - 2rem);padding:1.5rem 1rem}}.auth-box-login{text-align:left}.auth-box-login p{margin:0}.auth-box-login .title{color:#111827;font-size:2rem;font-weight:800;line-height:1.2;margin-bottom:.5rem;position:relative;text-align:center}.auth-box-login .subtitle{color:#4b5563;font-size:1rem;line-height:1.5;margin-bottom:2rem;text-align:center}.auth-box-login .text-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:1rem;transition:all .2s ease;width:100%}.auth-box-login .text-input::placeholder{color:#4b5563}.auth-box-login .text-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1);outline:none;transform:translateY(-1px)}.auth-box-login .text-input:hover{border-color:#d1d5db}.auth-box-login .auth-error{color:#dc2626;font-size:.875rem;line-height:1.4;margin-bottom:1rem}.auth-box-login .button-primary{background:linear-gradient(135deg,#7c3aed,#d946ef);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:1.5rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.auth-box-login .button-primary:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.auth-box-login .button-primary:hover{box-shadow:0 10px 25px rgba(124,58,237,.3);transform:translateY(-2px)}.auth-box-login .button-primary:hover:before{left:100%}.auth-box-login .button-primary:active{transform:translateY(0)}.auth-box-login .button-primary p{color:#fff;font-weight:700;margin:0}.auth-box-login .link-primary{color:#7c3aed;cursor:pointer;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-box-login .link-primary:hover{color:#5b21b6;text-decoration:underline}.auth-box-login .text-sm{color:#4b5563;font-size:.875rem;line-height:1.5;margin-top:1rem;text-align:center}.auth-box-login .mb0i{margin-bottom:0!important}.auth-box-login .divider{align-items:center;display:flex;margin:1.25rem 0}.auth-box-login .divider:after,.auth-box-login .divider:before{background:#e5e7eb;content:"";flex:1;height:1px}.auth-box-login .divider-text{color:#4b5563;font-size:.8125rem;font-weight:500;padding:0 .75rem}.auth-box-login .button-google{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.625rem;justify-content:center;padding:.875rem 1rem;transition:all .2s ease;width:100%}.auth-box-login .button-google:hover{background:#f9fafb;border-color:#d1d5db}.auth-box-login .google-icon{height:20px;width:20px}.auth-box-login .button-primary:focus,.auth-box-login .text-input:focus{outline:2px solid #7c3aed;outline-offset:2px}.auth-box-login .button-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-box-login .button-primary:disabled:hover{box-shadow:none;transform:none}.auth-box-register{text-align:left}.auth-box-register p{margin:0}.auth-box-register .title{color:#111827;font-size:2rem;font-weight:800;line-height:1.2;margin-bottom:.5rem;text-align:center}.auth-box-register .subtitle{color:#4b5563;font-size:1rem;line-height:1.5;margin-bottom:2rem;text-align:center}.auth-box-register .text-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:1rem;transition:all .2s ease;width:100%}.auth-box-register .text-input::placeholder{color:#4b5563}.auth-box-register .text-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1);outline:none;transform:translateY(-1px)}.auth-box-register .text-input:hover{border-color:#d1d5db}.auth-box-register .auth-error{color:#dc2626;font-size:.875rem;line-height:1.4;margin-bottom:1rem}.auth-box-register .button-primary{background:linear-gradient(135deg,#7c3aed,#d946ef);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:1.5rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.auth-box-register .button-primary:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.auth-box-register .button-primary:hover{box-shadow:0 10px 25px rgba(124,58,237,.3);transform:translateY(-2px)}.auth-box-register .button-primary:hover:before{left:100%}.auth-box-register .button-primary:active{transform:translateY(0)}.auth-box-register .button-primary p{color:#fff;font-weight:700;margin:0}.auth-box-register .link-primary{color:#7c3aed;cursor:pointer;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-box-register .link-primary:hover{color:#5b21b6;text-decoration:underline}.auth-box-register .text-sm{color:#4b5563;font-size:.875rem;line-height:1.5;margin-top:1rem;text-align:center}.auth-box-register .divider{align-items:center;display:flex;margin:1.25rem 0}.auth-box-register .divider:after,.auth-box-register .divider:before{background:#e5e7eb;content:"";flex:1;height:1px}.auth-box-register .divider-text{color:#4b5563;font-size:.8125rem;font-weight:500;padding:0 .75rem}.auth-box-register .button-google{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.625rem;justify-content:center;margin-bottom:1rem;padding:.875rem 1rem;transition:all .2s ease;width:100%}.auth-box-register .button-google:hover{background:#f9fafb;border-color:#d1d5db}.auth-box-register .google-icon{height:20px;width:20px}.auth-box-register .button-primary:focus,.auth-box-register .text-input:focus{outline:2px solid #7c3aed;outline-offset:2px}.auth-box-register .button-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-box-register .button-primary:disabled:hover{box-shadow:none;transform:none}.auth-box-reset{text-align:left}.auth-box-reset p{margin:0}.auth-box-reset .title{color:#111827;font-size:2rem;font-weight:800;line-height:1.2;margin-bottom:.5rem;text-align:center}.auth-box-reset .subtitle{color:#4b5563;font-size:1rem;line-height:1.5;margin-bottom:2rem;text-align:center}.auth-box-reset .text-input{background:#fff;border:2px solid #e5e7eb;border-radius:8px;color:#111827;font-family:inherit;font-size:1rem;margin-bottom:1rem;padding:1rem;transition:all .2s ease;width:100%}.auth-box-reset .text-input::placeholder{color:#4b5563}.auth-box-reset .text-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1);outline:none;transform:translateY(-1px)}.auth-box-reset .text-input:hover{border-color:#d1d5db}.auth-box-reset .auth-error{color:#dc2626;font-size:.875rem;line-height:1.4;margin-bottom:1rem}.auth-box-reset .reset-success{background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.35);border-radius:8px;padding:1.25rem;text-align:center}.auth-box-reset .reset-success-title{color:#15803d;font-weight:700;margin-bottom:.375rem}.auth-box-reset .reset-success-text{color:#4b5563;font-size:.9375rem;line-height:1.5}.auth-box-reset .button-primary{background:linear-gradient(135deg,#7c3aed,#d946ef);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-bottom:.5rem;overflow:hidden;padding:1rem;position:relative;transition:all .3s ease;width:100%}.auth-box-reset .button-primary:hover{box-shadow:0 10px 25px rgba(124,58,237,.3);transform:translateY(-2px)}.auth-box-reset .button-primary:active{transform:translateY(0)}.auth-box-reset .button-primary p{color:#fff;font-weight:700;margin:0}.auth-box-reset .link-primary{color:#7c3aed;cursor:pointer;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-box-reset .link-primary:hover{color:#5b21b6;text-decoration:underline}.auth-box-reset .text-sm{color:#4b5563;font-size:.875rem;line-height:1.5;margin-top:1rem;text-align:center}.auth-box-reset .button-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-box-reset .button-primary:disabled:hover{box-shadow:none;transform:none}