*{margin:0;padding:0;box-sizing:border-box;font-family:Roboto,sans-serif}body{background:linear-gradient(135deg,#1a237e,#0d47a1,#01579b);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}body:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;opacity:.15;z-index:-1;filter:blur(10px)}.container{width:100%;max-width:1200px;padding:20px}.login-box{background:#ffffffb3;border-radius:20px;padding:40px;max-width:450px;margin:0 auto;box-shadow:0 15px 35px #0003;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border:1px solid rgba(255,255,255,.3)}.logo{text-align:center;margin-bottom:30px}.logo img{max-width:100px;height:auto;filter:drop-shadow(0 4px 6px rgba(0,0,0,.1))}h1{color:#1a237e;text-align:center;margin-bottom:10px;font-size:28px;font-weight:700}.subtitle{color:#666;text-align:center;margin-bottom:30px;font-size:16px}.input-group{position:relative;margin-bottom:25px}.input-group i{position:absolute;top:50%;transform:translateY(-50%);color:#666;font-size:18px}.input-group i:first-child{left:15px}.input-group i.toggle-password{right:15px;cursor:pointer;transition:color .3s ease}.input-group i.toggle-password:hover{color:#1a237e}.input-group input{width:100%;padding:15px 45px;border:2px solid #e0e0e0;border-radius:10px;font-size:16px;transition:all .3s ease;background:#ffffffe6;color:#333}.input-group input:focus{border-color:#1a237e;box-shadow:0 0 0 3px #1a237e1a;outline:none}.input-group label{position:absolute;left:45px;top:50%;transform:translateY(-50%);color:#666;pointer-events:none;transition:all .3s ease}.input-group input:focus+label,.input-group input:valid+label{top:-10px;left:15px;font-size:12px;background:#fff;padding:0 5px;color:#1a237e;border-radius:4px}.password-toggle{display:none}.options{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.remember-me{display:flex;align-items:center;gap:8px;color:#666;cursor:pointer}.remember-me input[type=checkbox]{width:18px;height:18px;border-radius:4px;border:2px solid #1a237e;cursor:pointer}.forgot-password{color:#1a237e;text-decoration:none;font-size:14px;transition:color .3s ease}.forgot-password:hover{color:#0d47a1;text-decoration:underline}.error-message{color:#f44336;font-size:14px;margin-bottom:15px;text-align:center;min-height:20px;padding:10px;background:#f443361a;border-radius:8px;display:none}.error-message.show{display:block}.login-btn{width:100%;padding:15px;background:linear-gradient(135deg,#1a237e,#0d47a1);color:#fff;border:none;border-radius:10px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden}.login-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.login-btn:hover{box-shadow:0 5px 15px #1a237e4d}.login-btn:hover:before{left:100%}.login-btn:active{transform:scale(.98)}@media (max-width: 480px){.login-box{padding:30px 20px}h1{font-size:24px}.subtitle{font-size:14px}}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;opacity:0;transition:opacity .3s ease}.modal.show{display:flex;align-items:center;justify-content:center;opacity:1}.modal-content{background:#fffffff2;border-radius:20px;padding:30px;width:90%;max-width:450px;position:relative;transform:translateY(-20px);transition:transform .3s ease;box-shadow:0 15px 35px #0003}.modal.show .modal-content{transform:translateY(0)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{color:#1a237e;margin:0;font-size:24px}.close-modal{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:5px;transition:color .3s ease}.close-modal:hover{color:#1a237e}.loader{display:none;width:20px;height:20px;border:2px solid #ffffff;border-bottom-color:transparent;border-radius:50%;animation:rotation 1s linear infinite;margin-right:10px}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading .loader{display:inline-block}.loading span{display:none}.success-message{color:#4caf50;font-size:14px;margin-bottom:15px;text-align:center;min-height:20px;padding:10px;background:#4caf501a;border-radius:8px;display:none}.success-message.show{display:block}
