body.login-page{box-sizing:border-box;justify-content:center;align-items:center;min-height:100vh;margin:0;padding:20px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex;overflow:hidden;background:linear-gradient(135deg,#f5f7fa 0%,#e4e8ed 100%) fixed!important}@media (width>=1024px){body.login-page{background:linear-gradient(135deg,#f5f7fa 0%,#e4e8ed 100%) 0 0/cover!important}}body.login-page .chatbot-container,body.login-page .chatbot-toggle,body.login-page #chatbot-container,body.login-page #chatbot-toggle,body.login-page [class*=chatbot]{display:none!important}.login-modal{background:#fff;border-radius:16px;width:100%;max-width:420px;animation:.3s ease-out modalFadeIn;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.login-modal-header{text-align:center;background:#fff;border-bottom:1px solid #e5e7eb;padding:32px 32px 28px;position:relative}.login-modal-header .login-brand{flex-direction:column;align-items:center;gap:16px;margin-bottom:16px;display:flex}.login-modal-header .login-brand img{width:200px;height:auto}.login-modal-header h1{color:#1f2937;letter-spacing:.025em;margin:0;font-size:18px;font-weight:600}.login-modal-header .auth-lang-selector{position:absolute;top:12px;right:12px}.login-modal-header .auth-lang-selector .lang-selector{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:4px 10px}.login-modal-header .auth-lang-selector .lang-current{color:#374151;cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.login-modal-header .auth-lang-selector .lang-current img{width:16px;height:auto}.login-modal-header .auth-lang-selector .lang-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:130px;margin-top:4px;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #00000026}.login-modal-header .auth-lang-selector .lang-option{cursor:pointer;color:#374151;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.login-modal-header .auth-lang-selector .lang-option:first-child{border-radius:6px 6px 0 0}.login-modal-header .auth-lang-selector .lang-option:last-child{border-radius:0 0 6px 6px}.login-modal-header .auth-lang-selector .lang-option:hover{background:#f3f4f6}.login-modal-header .auth-lang-selector .lang-option img{width:16px;height:auto}.login-modal-body{padding:32px}.login-modal-body .alert{border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:14px}.login-modal-body .alert-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.login-modal-body .alert-danger{color:#991b1b;background:#fee2e2;border:1px solid #fca5a5}.login-modal-body .alert-success{color:#065f46;background:#d1fae5;border:1px solid #6ee7b7}.login-modal-body label{color:#374151;margin-bottom:6px;font-size:14px;font-weight:500;display:block}.login-modal-body input[type=email],.login-modal-body input[type=password],.login-modal-body input[type=text]{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;margin-bottom:16px;padding:12px 14px;font-size:15px;transition:border-color .15s,box-shadow .15s}.login-modal-body input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.login-modal-body .password-wrapper{margin-bottom:16px;position:relative}.login-modal-body .password-wrapper input{margin-bottom:0;padding-right:48px}.login-modal-body .password-toggle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:auto;margin:0;padding:4px;line-height:0;transition:color .15s;display:inline-flex;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-modal-body .password-toggle:hover{color:#374151;background:0 0}.login-modal-body .error{color:#dc2626;margin:-12px 0 16px;font-size:13px;display:block}.login-modal-body .remember{color:#4b5563;align-items:center;gap:8px;margin-bottom:20px;font-size:14px;display:flex}.login-modal-body .remember input[type=checkbox]{cursor:pointer;width:16px;height:16px;margin:0}.login-modal-body button[type=submit],.login-modal-body .btn-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;margin-bottom:0;padding:14px 0;font-size:15px;font-weight:600;transition:all .2s}.login-modal-body button[type=submit]:hover,.login-modal-body .btn-submit:hover{background:#1d4ed8;transform:translateY(-1px);box-shadow:0 4px 12px #2563eb66}.login-modal-footer{text-align:center;padding:0 32px 32px}.login-modal-footer .login-links{flex-direction:column;gap:8px;display:flex}.login-modal-footer .login-links a{color:#2563eb;font-size:14px;text-decoration:none;transition:color .15s}.login-modal-footer .login-links a:hover{color:#1d4ed8;text-decoration:underline}.login-modal-footer .divider{color:#9ca3af;align-items:center;margin:16px 0;font-size:13px;display:flex}.login-modal-footer .divider:before,.login-modal-footer .divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.login-modal-footer .divider span{padding:0 12px}.login-modal-footer .register-link{color:#6b7280;font-size:14px}.login-modal-footer .register-link a{color:#3b82f6;font-weight:500}.login-modal-footer .guest-link{color:#6b7280;border-top:1px solid #e5e7eb;margin-top:12px;padding-top:12px;font-size:13px}.login-modal-footer .guest-link a{color:#3b82f6}@media (width<=480px){body.login-page{align-items:flex-start;padding:40px 16px 16px}.login-modal{border-radius:12px;max-width:100%}.login-modal-header{padding:24px 20px}.login-modal-header .login-brand img{width:140px}.login-modal-header h1{font-size:16px}.login-modal-body{padding:24px 20px}.login-modal-body input{padding:14px 12px;font-size:16px}.login-modal-body button[type=submit]{padding:16px 0;font-size:16px}.login-modal-footer{padding:0 20px 24px}}@media (width<=360px){.login-modal-header,.login-modal-body{padding:20px 16px}.login-modal-footer{padding:0 16px 20px}}body.login-page .app-footer{display:none}body.login-page .app-content-wrapper{justify-content:center;align-items:center;min-height:100vh;display:flex}
