:root{--primary-color: #54138D;--primary-hover: #511f7c;--social-hover: #d1d4d6;--disabled-state: #b0b1b2;--text-color: #273138;--border-color: #AFBEC9;--social-bg: #E9EEF0;--background-white: #ffffff;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:1rem;line-height:1.6;color:var(--text-color);background-color:var(--background-white)}.auth-layout{min-height:100vh;display:flex;flex-direction:column;padding-bottom:5.75rem}.auth-container{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem}.auth-card{width:31rem;background:var(--background-white);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 3px #0000002b,0 4px 3px #00000015;display:flex;flex-direction:column;gap:1rem}.auth-logo{display:flex;justify-content:center;align-items:center}.auth-logo img{width:9.19rem;height:2.875rem}.auth-content{min-height:32.6875rem;padding-left:1.5rem;padding-right:1.5rem;display:flex;flex-direction:column;gap:.5rem;border-radius:1rem}.card-title{font-weight:500;font-size:1.25rem;line-height:140%;color:var(--text-color);text-align:center;margin-bottom:1rem}.form-label{font-weight:400;font-size:.875rem;line-height:180%;color:var(--text-color);display:block;margin-bottom:.25rem}.divider-text{font-weight:400;font-size:1rem;line-height:160%;color:var(--text-color);text-align:center;margin:1rem 0}.auth-link{color:var(--primary-color);text-decoration:none;font-weight:400;font-size:.875rem;line-height:180%;transition:text-decoration .2s ease}.auth-link:hover{text-decoration:underline}.form-input{width:25.625rem;height:2.5625rem;border:1px solid var(--border-color);border-radius:.25rem;padding:.5rem;font-family:var(--font-family);font-size:.875rem;color:var(--text-color);background:var(--background-white);transition:border-color .2s ease}.form-input:focus{outline:none;border-color:var(--primary-color)}.form-input::placeholder{color:var(--disabled-state)}.btn-primary{background:var(--primary-color);color:#fff;width:25.625rem;height:2.625rem;border:none;border-radius:.5rem;padding:.5rem;font-family:var(--font-family);font-weight:500;font-size:.875rem;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-primary:disabled{background:var(--disabled-state);cursor:not-allowed}.social-buttons{display:flex;gap:.5rem;justify-content:space-between;margin:1rem 0}.btn-social{background:var(--social-bg);color:var(--text-color);width:13.75rem;height:2.625rem;border:none;border-radius:.5rem;padding:.5rem;font-family:var(--font-family);font-weight:400;font-size:.875rem;cursor:pointer;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-social:hover{background:var(--social-hover)}.social-icon{width:1.5rem;height:1.5rem}.form-group{margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.error-message{color:#dc3545;font-size:.75rem;margin-top:.25rem}.terms-text{font-weight:400;font-size:.75rem;line-height:160%;color:var(--text-color);text-align:center;margin:1rem 0}@media(max-width:768px){.auth-container{padding:1rem}.auth-card{width:100%;max-width:90vw;height:auto;min-height:80vh}.auth-content{width:100%;padding-left:0;padding-right:0}.form-input,.btn-primary{width:100%}.social-buttons{flex-direction:column;gap:.75rem}.btn-social{width:100%}}:root{--footer-bg: #1F0E4E}.auth-footer{background:var(--footer-bg);width:100%;height:5.75rem;padding:1rem 1.5rem;color:#fff;position:fixed;bottom:0;left:0;right:0;z-index:1000}.footer-content{max-width:90rem;margin:0 auto;display:flex;justify-content:space-between;align-items:center;height:100%;gap:5rem}.footer-brand{display:flex;flex-direction:column;gap:.25rem}.footer-logo{font-weight:500;font-size:1.125rem;color:#fff}.footer-copyright{font-weight:400;font-size:.875rem;line-height:180%;color:#fffc}.footer-social{display:flex;gap:1.5rem}.social-link{color:#fffc;text-decoration:none;font-weight:400;font-size:.875rem;line-height:180%;transition:color .2s ease}.social-link:hover{color:#fff;text-decoration:underline}@media(max-width:768px){.footer-content{flex-direction:column;gap:1rem;text-align:center}.footer-social{justify-content:center}}.login-form{display:flex;flex-direction:column;gap:1rem;width:100%}.password-label-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.forgot-password-link{font-size:.75rem;color:var(--primary-color);text-decoration:none;font-weight:500;transition:color .2s ease;width:100%;display:block;text-align:center}.forgot-password-link:hover{color:var(--primary-hover);text-decoration:underline}.forgot-password-link:focus{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:2px}@media(max-width:768px){.login-form{gap:.875rem}.form-group{margin-bottom:.875rem}.auth-footer-link{margin-top:1.25rem;font-size:.8125rem}.general-error{padding:.625rem;font-size:.8125rem}}.password-strength{position:relative}.strength-bar-container{width:100%;height:.375rem;background-color:#e9ecef;border-radius:.25rem;overflow:hidden}.strength-bar{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:.25rem}.strength-very-weak{background-color:#dc3545;color:#dc3545}.strength-weak{background-color:#fd7e14;color:#fd7e14}.strength-fair{background-color:#ffc107;color:#ffc107}.strength-good{background-color:#20c997;color:#20c997}.strength-strong{background-color:#28a745;color:#28a745}.strength-label{font-size:.75rem;font-weight:500;margin-bottom:.75rem;text-align:right}.password-requirements{position:absolute;top:100%;left:0;right:0;margin-top:.5rem;padding:.75rem;background-color:#fff;border-radius:.25rem;border:1px solid #dee2e6;box-shadow:0 2px 4px #0000001a;z-index:10}.requirements-title{font-size:.75rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.requirements-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.requirements-list li{font-size:.75rem;line-height:1.5;display:flex;align-items:center;gap:.5rem}.requirement-icon{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.625rem;font-weight:700}.requirement-met,.requirement-met .requirement-icon{color:#28a745}.requirement-unmet{color:#6c757d}.requirement-unmet .requirement-icon{color:#adb5bd}.strength-feedback{margin-top:.5rem;padding:.5rem;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:.25rem}.feedback-message{font-size:.6875rem;line-height:1.5;color:#856404;margin-bottom:.25rem}.feedback-message:last-child{margin-bottom:0}@media(max-width:768px){.password-requirements{padding:.625rem}.requirements-list li,.strength-label{font-size:.6875rem}.feedback-message{font-size:.625rem}}@media(prefers-contrast:high){.strength-bar-container{border:2px solid #000}.password-requirements,.strength-feedback{border-width:2px}}@media(prefers-reduced-motion:reduce){.strength-bar{transition:none}}.register-form{display:flex;flex-direction:column;gap:1rem;width:100%}.registration-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:2rem 0}.success-message{font-weight:400;font-size:.875rem;line-height:180%;color:var(--text-color);max-width:24rem}.form-input.error{border-color:#dc3545;background-color:#fff5f5}.form-input.error:focus{border-color:#dc3545;box-shadow:0 0 0 .125rem #dc354540}.error-message{color:#dc3545;font-size:.75rem;font-weight:400;line-height:160%;margin-top:.25rem;display:block}.general-error{background-color:#fff5f5;border:1px solid #fecaca;border-radius:.25rem;padding:.75rem;margin-bottom:1rem;font-size:.875rem;color:#dc3545}.form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem}.form-group:last-of-type{margin-bottom:1.5rem}.terms-text{font-weight:400;font-size:.75rem;line-height:160%;color:var(--text-color);text-align:center;margin:1rem 0 1.5rem;padding:0 1rem}.auth-footer-link{text-align:center;margin-top:1.5rem;font-weight:400;font-size:.875rem;line-height:180%;color:var(--text-color)}.btn-primary:disabled{background:var(--disabled-state);cursor:not-allowed;opacity:.7}.form-input:focus,.btn-primary:focus,.btn-social:focus,.auth-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}.btn-social:hover{background:var(--social-hover);transform:translateY(-1px);transition:all .2s ease}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);transition:all .2s ease}.form-input:valid:not(:focus){border-color:#28a745}.form-input:valid:not(:focus):not(.error){background-color:#f8fff9}@media(max-width:768px){.register-form{gap:.875rem}.form-group{margin-bottom:.875rem}.terms-text{font-size:.6875rem;padding:0 .5rem;margin:.875rem 0 1.25rem}.auth-footer-link{margin-top:1.25rem;font-size:.8125rem}.success-message{font-size:.8125rem;max-width:20rem}.general-error{padding:.625rem;font-size:.8125rem}}@media(prefers-contrast:high){.form-input,.form-input.error{border-width:2px}.btn-primary,.btn-social{border:2px solid transparent}.btn-primary:focus,.btn-social:focus{border-color:var(--primary-color)}}@media(prefers-reduced-motion:reduce){.btn-social:hover,.btn-primary:hover:not(:disabled){transform:none;transition:background-color .2s ease}.form-input,.btn-primary,.btn-social{transition:none}}.verification-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:2rem 0;width:100%}.verification-icon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin-bottom:.5rem}.success-icon{background-color:#d4edda;color:#155724;border:3px solid #28a745}.error-icon{background-color:#f8d7da;color:#721c24;border:3px solid #dc3545}.warning-icon{background-color:#fff3cd;color:#856404;border:3px solid #ffc107}.verification-spinner{width:3rem;height:3rem;border:4px solid rgba(0,0,0,.1);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.verification-message{font-weight:400;font-size:.875rem;line-height:180%;color:var(--text-color);max-width:28rem;margin:0}.verification-email{font-weight:600;font-size:.875rem;color:var(--primary-color);background-color:#f0f4ff;padding:.75rem 1.5rem;border-radius:.25rem;border:1px solid #d0e0ff;word-break:break-all}.verification-redirect{font-size:.75rem;color:#6c757d;font-style:italic}.verification-help{font-size:.8125rem;line-height:160%;color:#6c757d;max-width:26rem;margin:.5rem 0}.verification-help.small{font-size:.75rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef}.verification-help strong{color:var(--text-color)}.success-message-box{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:.25rem;padding:1.25rem;margin:1rem 0;width:100%;max-width:28rem}.success-message-box p{color:#155724;font-size:.875rem;line-height:160%;margin:.5rem 0}.success-message-box .verification-email{background-color:#fff;color:#155724;border-color:#c3e6cb;margin:.75rem 0}.btn-primary{width:100%;margin-top:.5rem}.btn-secondary{width:100%;max-width:20rem;margin-top:.5rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:.75rem 1.5rem;border-radius:.25rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-link{background:none;border:none;color:var(--primary-color);text-decoration:underline;cursor:pointer;font-size:.8125rem;padding:.5rem;margin-top:.5rem}.btn-link:hover{color:var(--primary-hover)}.verification-container .form-group{width:100%;max-width:20rem;text-align:left;margin:1rem 0}.verification-container .form-label{font-weight:500;font-size:.875rem;color:var(--text-color);margin-bottom:.5rem;display:block}.verification-container .form-input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:.25rem;font-size:.875rem;transition:border-color .2s ease}.verification-container .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .125rem #007bff40}.verification-container .form-input.error{border-color:#dc3545;background-color:#fff5f5}.verification-container .general-error{background-color:#fff5f5;border:1px solid #fecaca;border-radius:.25rem;padding:.75rem;margin:.5rem 0;font-size:.875rem;color:#dc3545;max-width:28rem;width:100%}.verification-container.success,.verification-container.error{animation:fadeIn .5s ease-in}.verification-container.reminder{padding-top:1rem}@media(max-width:768px){.verification-container{gap:1.25rem;padding:1.5rem 0}.verification-icon{width:3.5rem;height:3.5rem;font-size:1.75rem}.verification-message{font-size:.8125rem;max-width:90%}.verification-email{font-size:.8125rem;padding:.625rem 1rem;max-width:90%}.verification-help{font-size:.75rem;max-width:90%}.success-message-box{padding:1rem;max-width:90%}.btn-primary,.btn-secondary,.verification-container .form-group{max-width:90%}}@media(prefers-contrast:high){.verification-icon{border-width:4px}.btn-secondary{border-width:2px}}@media(prefers-reduced-motion:reduce){.verification-spinner{animation:none;border-top-color:transparent}.verification-container.success,.verification-container.error{animation:none}.btn-secondary:hover{transform:none}}.btn-primary:focus,.btn-secondary:focus,.btn-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}.password-reset-container{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.5rem;padding:2rem 0;width:100%}.password-reset-icon{width:4rem;height:4rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;margin-bottom:.5rem}.password-reset-icon.success-icon{background-color:#d4edda;color:#155724;border:3px solid #28a745}.password-reset-icon.error-icon{background-color:#f8d7da;color:#721c24;border:3px solid #dc3545}.password-reset-message{font-weight:400;font-size:.875rem;line-height:180%;color:var(--text-color);max-width:28rem;margin:0}.password-reset-message strong{color:var(--primary-color);word-break:break-word}.password-reset-help{font-size:.8125rem;line-height:160%;color:#6c757d;max-width:26rem;margin:.5rem 0}.password-reset-help.small{font-size:.75rem;margin-top:1rem}.password-reset-help strong{color:var(--text-color)}.password-reset-redirect{font-size:.75rem;color:#6c757d;font-style:italic}.info-box{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:.25rem;padding:1.25rem;margin:1rem 0;width:100%;max-width:28rem;text-align:left}.info-box .password-reset-help{margin:.5rem 0;max-width:100%}.password-reset-checklist{list-style:none;padding:0;margin:.75rem 0 0;text-align:left}.password-reset-checklist li{font-size:.8125rem;line-height:160%;color:#6c757d;padding-left:1.5rem;position:relative;margin-bottom:.5rem}.password-reset-checklist li:before{content:"•";position:absolute;left:.5rem;color:var(--primary-color);font-weight:700}.password-reset-container form{width:100%;max-width:20rem;text-align:left}.password-reset-container .form-group{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;width:100%}.password-reset-container .form-label{font-weight:500;font-size:.875rem;color:var(--text-color);margin-bottom:.5rem;display:block;text-align:left}.password-reset-container .form-input{width:100%;padding:.75rem;border:1px solid #ced4da;border-radius:.25rem;font-size:.875rem;transition:border-color .2s ease}.password-reset-container .form-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 .125rem #007bff40}.password-reset-container .form-input.error{border-color:#dc3545;background-color:#fff5f5}.password-reset-container .error-message{color:#dc3545;font-size:.75rem;font-weight:400;line-height:160%;margin-top:.25rem;display:block;text-align:left}.password-reset-container .general-error{background-color:#fff5f5;border:1px solid #fecaca;border-radius:.25rem;padding:.75rem;margin-bottom:1rem;font-size:.875rem;color:#dc3545;max-width:28rem;width:100%}.password-reset-container .btn-primary{width:100%;max-width:20rem;margin-top:.5rem}.password-reset-container .btn-secondary{width:100%;max-width:20rem;margin-top:.5rem;background:transparent;color:var(--primary-color);border:1px solid var(--primary-color);padding:.75rem 1.5rem;border-radius:.25rem;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.password-reset-container .btn-secondary:hover{background:var(--primary-color);color:#fff;transform:translateY(-1px)}.password-reset-container .btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.password-reset-container .btn-primary:disabled{background:var(--disabled-state);cursor:not-allowed;opacity:.7}.password-reset-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid #e9ecef;width:100%;max-width:20rem;text-align:center}.password-reset-footer .auth-link{font-size:.875rem;color:var(--primary-color);text-decoration:none;font-weight:500}.password-reset-footer .auth-link:hover{text-decoration:underline;color:var(--primary-hover)}.password-reset-container.success,.password-reset-container.error{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.password-reset-container{gap:1.25rem;padding:1.5rem 0}.password-reset-icon{width:3.5rem;height:3.5rem;font-size:1.75rem}.password-reset-message{font-size:.8125rem;max-width:90%}.password-reset-help{font-size:.75rem;max-width:90%}.info-box{padding:1rem;max-width:90%}.password-reset-checklist li{font-size:.75rem}.password-reset-container form,.password-reset-container .btn-primary,.password-reset-container .btn-secondary,.password-reset-footer,.password-reset-container .general-error{max-width:90%}}@media(prefers-contrast:high){.password-reset-icon{border-width:4px}.password-reset-container .btn-secondary,.password-reset-container .form-input{border-width:2px}}@media(prefers-reduced-motion:reduce){.password-reset-container.success,.password-reset-container.error{animation:none}.password-reset-container .btn-secondary:hover{transform:none}}.password-reset-container .btn-primary:focus,.password-reset-container .btn-secondary:focus,.password-reset-container .auth-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:#333;background-color:#f5f5f5}.auth-app{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-page,.register-page{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;text-align:center;min-width:300px}.login-page h1,.register-page h1{margin-bottom:1rem;color:#2563eb}.login-page button,.register-page button{display:block;width:100%;margin:.5rem 0;padding:.75rem;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;transition:background-color .2s}.login-page button:hover,.register-page button:hover{background-color:#f8f9fa}
