*{margin:0;padding:0;box-sizing:border-box;font-family:Inter,sans-serif}body{min-height:100vh;background:#f1f5f9;color:#64748b;-webkit-font-smoothing:antialiased;font-size:var(--font-size-base, 14px)}.login-container{display:flex;min-height:100vh}.login-left{flex:1;background:linear-gradient(135deg,#1a237e 0%,#0d47a1 50%,#01579b 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px;color:#fff;position:relative;overflow:hidden}.login-left:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.05) 0%,transparent 70%);animation:pulse 8s ease-in-out infinite}.login-left .brand{position:relative;z-index:1;text-align:center}.login-left .brand h1{font-size:2.5rem;font-weight:700;margin-bottom:16px;letter-spacing:-.5px}.login-left .brand p{font-size:1.1rem;font-weight:300;opacity:.85;max-width:360px;line-height:1.6}.login-right{flex:1;display:flex;justify-content:center;align-items:center;padding:40px;background:#fff}.login-form{width:100%;max-width:400px}.login-form h2{font-size:1.75rem;font-weight:600;color:#1a237e;margin-bottom:8px}.login-form .subtitle{color:#666;font-size:.9rem;margin-bottom:32px}.login-form .form-group{margin-bottom:20px}.login-form .form-group label{display:block;font-size:.85rem;font-weight:500;color:#333;margin-bottom:6px}.login-form .form-group input{width:100%;padding:12px 16px;border:.5px solid #374151;border-radius:8px;font-size:.95rem;font-family:Inter,sans-serif;transition:border-color .2s,box-shadow .2s}.login-form .form-group input:focus{outline:none;border-color:var(--primary, #1e3a5f);box-shadow:0 0 0 3px #1e3a5f1a}.login-form .form-group input::placeholder{color:#aaa}.login-form .form-group .password-wrap{position:relative}.login-form .form-group .password-wrap input{padding-right:44px}.login-form .form-group .password-wrap .toggle-password{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:#9ca3af}.login-form .form-group .password-wrap .toggle-password:hover{color:#1e3a5f}.login-form .form-group .password-wrap .toggle-password .material-icons{font-size:20px}.login-form .btn-login{width:100%;padding:14px;background:linear-gradient(135deg,#1e3a5f,#2d5282);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:transform .15s,box-shadow .15s}.login-form .btn-login:hover{transform:translateY(-1px);box-shadow:0 4px 12px #1e3a5f4d}.login-form .btn-login:active{transform:translateY(0)}.login-form .btn-login:disabled{opacity:.7;cursor:not-allowed;transform:none}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (max-width: 768px){.login-container{flex-direction:column}.login-left{padding:40px 20px;min-height:200px}.login-right{padding:40px 20px}}.form-group input,.form-group select,.form-group textarea{border:.5px solid #94a3b8!important}.form-group label{background:none}.form-group label .req{color:#dc2626}.action-menu{position:fixed;min-width:150px;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 8px 24px #0000002e;z-index:99999;overflow:hidden}.action-menu a{display:block;padding:8px 14px;font-size:.78rem;color:#374151;cursor:pointer;transition:background .1s}.action-menu a:hover{background:#f3f4f6;color:#1e3a5f}.action-menu a:not(:last-child){border-bottom:1px solid #f3f4f6}.swal2-container{z-index:99999!important}
