body{margin:0;font-family:Roboto,sans-serif;display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(0deg,#007bff,#6610f2);color:#333}.login-container{background-color:#fff;padding:40px;border-radius:15px;box-shadow:0 10px 30px #0003;text-align:center;width:100%;max-width:400px;box-sizing:border-box;animation:fadeIn 1s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{margin-bottom:30px}.logo{width:80px;height:80px;border-radius:50%;margin-bottom:15px}.login-header h2{color:#007bff;margin-bottom:10px;font-weight:700;font-size:1.8em}.login-header p{color:#666;font-size:.9em}.input-group{margin-bottom:20px;text-align:left}.input-group label{display:block;margin-bottom:8px;color:#555;font-weight:400;font-size:.95em}.input-group input[type=text],.input-group input[type=password]{width:100%;padding:12px 15px;border:1px solid #ddd;border-radius:8px;font-size:1em;box-sizing:border-box;transition:border-color .3s ease,box-shadow .3s ease}.input-group input[type=text]:focus,.input-group input[type=password]:focus{border-color:#007bff;box-shadow:0 0 8px #007bff4d;outline:none}.login-button{width:100%;padding:15px;background-color:#007bff;color:#fff;border:none;border-radius:8px;font-size:1.1em;font-weight:700;cursor:pointer;transition:background-color .3s ease,transform .2s ease;letter-spacing:.5px}.login-button:hover{background-color:#0056b3;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.links{margin-top:25px;font-size:.85em}.links a{color:#007bff;text-decoration:none;margin:0 10px;transition:color .3s ease}.links a:hover{color:#0056b3;text-decoration:underline}.error-message{color:#dc3545;margin-top:20px;font-size:.9em;font-weight:500;opacity:0;max-height:0;overflow:hidden;transition:opacity .3s ease,max-height .3s ease}.error-message.show{opacity:1;max-height:50px}
