.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;position:relative;background-color:#f8f9fa;overflow:hidden}.auth-card{width:100%;max-width:500px;background-color:#fff;border-radius:16px;padding:2.5rem;box-shadow:0 10px 30px rgba(0,0,0,.08);position:relative;z-index:10;animation:fadeIn .6s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-size:2rem;font-weight:700;color:#212529;margin-bottom:.5rem}.auth-header p{color:#6c757d;font-size:1rem}.back-link{position:absolute;top:1.5rem;left:1.5rem;display:flex;align-items:center;gap:.5rem;color:#6c757d;font-size:.9rem;text-decoration:none;transition:all .3s ease}.back-link:hover{color:#ffc107;transform:translateX(-3px)}.auth-alert{padding:1rem;border-radius:8px;margin-bottom:1.5rem;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.auth-alert.error{background-color:rgba(220,53,69,.1);border-left:4px solid #dc3545}.auth-alert.success{background-color:rgba(40,167,69,.1);border-left:4px solid #28a745}.auth-alert p{margin:0;color:#212529;font-size:.9rem}.auth-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.875rem 1.5rem;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;outline:none}.google-btn{background-color:#fff;color:#212529;border:1px solid #e9ecef;box-shadow:0 2px 8px rgba(0,0,0,.05);margin-bottom:1.5rem}.google-btn:hover{background-color:#f8f9fa;box-shadow:0 5px 15px rgba(0,0,0,.08);transform:translateY(-2px)}.primary-btn{background-color:#ffc107;color:#212529;box-shadow:0 4px 12px rgba(255,193,7,.2)}.primary-btn:hover{background-color:#ffca2c;box-shadow:0 6px 18px rgba(255,193,7,.3);transform:translateY(-2px)}.auth-btn:disabled{opacity:.7;cursor:not-allowed;transform:none!important}.auth-divider{display:flex;align-items:center;margin:1.5rem 0;color:#adb5bd;font-size:.9rem}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background-color:#e9ecef}.auth-divider span{padding:0 1rem}.auth-form{margin-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:flex;align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;color:#495057;margin-bottom:.5rem}.form-group input{width:100%;padding:.875rem 1rem;border:1px solid #e9ecef;border-radius:8px;font-size:1rem;color:#212529;transition:all .3s ease}.form-group input:focus{outline:none;border-color:#ffc107;box-shadow:0 0 0 3px rgba(255,193,7,.15)}.form-help{display:block;margin-top:.375rem;font-size:.8rem;color:#6c757d}.form-actions{display:flex;justify-content:flex-end;margin-bottom:1.25rem}.forgot-link{font-size:.875rem;color:#6c757d;text-decoration:none;transition:color .3s ease}.forgot-link:hover{color:#ffc107}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.95rem;color:#6c757d}.auth-footer a{color:#ffc107;font-weight:600;text-decoration:none;transition:all .3s ease}.auth-footer a:hover{color:#ffca2c;text-decoration:underline}.auth-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;overflow:hidden}.auth-shape{position:absolute;border-radius:50%;opacity:.6}.shape-1{top:-100px;right:-100px;width:300px;height:300px;background:radial-gradient(circle,rgba(255,193,7,.3),rgba(255,193,7,0));animation:float 15s ease-in-out infinite}.shape-2{bottom:-150px;left:-50px;width:400px;height:400px;background:radial-gradient(circle,rgba(255,193,7,.2),rgba(255,193,7,0));animation:float 20s ease-in-out infinite reverse}.shape-3{top:40%;left:60%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,193,7,.15),rgba(255,193,7,0));animation:float 18s ease-in-out 2s infinite}@keyframes float{0%,to{transform:translate(0) scale(1)}25%{transform:translate(-20px,20px) scale(1.05)}50%{transform:translate(10px,-30px) scale(1.1)}75%{transform:translate(20px,20px) scale(1.05)}}@media (max-width:767.98px){.auth-card{padding:2rem 1.5rem}.auth-header h1{font-size:1.75rem}.auth-btn{font-size:.95rem;padding:.75rem 1.25rem}}@media (max-width:575.98px){.auth-container{padding:1.5rem}.auth-card{padding:1.75rem 1.25rem}.auth-header h1{font-size:1.5rem}.back-link{top:1.25rem;left:1.25rem;font-size:.85rem}.auth-btn{font-size:.9rem;padding:.7rem 1rem}}