:root{--primary: #3b5998;--primary-dark: #2d4373;--primary-darker: #1f2d4d;--primary-light: rgba(59, 89, 152, .08);--secondary: #f59e0b;--success: #10b981;--danger: #dc3545;--warning: #f59e0b;--text-primary: #1f2937;--text-secondary: #6b7280;--text-muted: rgba(15, 23, 42, .5);--bg-white: #ffffff;--bg-light: #f9fafb;--bg-lighter: #fafbfc;--border-color: #e5e7eb;--border-light: #d1d5db;--light-bg: #f9fafb;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 2px 8px rgba(0, 0, 0, .1)}*{font-family:Plus Jakarta Sans,sans-serif}body{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 50%,#2a3f6f 100%);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-container{width:100%;max-width:420px}.login-card{background:#fff;border-radius:10px;box-shadow:0 20px 60px #00000026;overflow:hidden;animation:slideUp .6s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{background:linear-gradient(135deg,#d4e1f0,#e8f0f8,#f0e6f5,#f5f0e8,#e8f2f7);padding:.5rem 1rem;text-align:center;color:var(--text-primary)}.login-header .logo{font-size:32px;font-weight:700;margin-bottom:10px;letter-spacing:-.5px}.login-header .tagline{font-size:12px;opacity:.9;font-weight:500;text-transform:uppercase;letter-spacing:1px}.login-body{padding:40px 30px}.login-tabs{display:none}.login-tab{flex:1;padding:12px 16px;text-align:center;cursor:pointer;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.5px;border-bottom:3px solid transparent;transition:all .3s ease;position:relative;bottom:-1px}.login-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.login-tab:hover{color:var(--primary)}.form-group{margin-bottom:24px}.form-label{font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);margin-bottom:8px;display:block}.form-control{border:2px solid var(--border-color);border-radius:10px;padding:12px 16px;font-size:14px;transition:all .3s ease;background:var(--light-bg);color:var(--text-primary)}.form-control:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #3b59981a}.form-control::placeholder{color:var(--text-secondary)}.form-control.is-invalid{border-color:var(--danger)}.form-control.is-invalid:focus{box-shadow:0 0 0 3px #dc35451a}.pin-input-group{display:flex;gap:8px;margin-bottom:24px}.pin-input{width:100%;height:48px;border:2px solid var(--border-color);border-radius:10px;text-align:center;font-size:24px;font-weight:700;background:var(--light-bg);color:var(--primary);transition:all .2s ease}.pin-input:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 3px #3b59981a;outline:none}.form-check{margin-bottom:24px}.form-check-input{width:18px;height:18px;border:2px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .3s ease;margin-top:3px}.form-check-input:checked{background-color:var(--primary);border-color:var(--primary)}.form-check-label{cursor:pointer;font-size:12px;color:var(--text-secondary);margin-left:8px;-webkit-user-select:none;user-select:none}.btn-login{width:100%;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-dark) 100%);border:none;border-radius:10px;padding:12px 16px;font-weight:600;font-size:12px;color:#fff;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;box-shadow:0 4px 15px #3b59984d}.btn-login:hover{transform:translateY(-2px);box-shadow:0 6px 25px #3b599866;color:#fff}.btn-login:active{transform:translateY(0)}.btn-login:disabled{opacity:.6;cursor:not-allowed}.btn-biometric{width:100%;background:var(--light-bg);border:2px solid var(--border-color);border-radius:10px;padding:12px 16px;font-weight:600;font-size:12px;color:var(--primary);transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;cursor:pointer}.btn-biometric:hover{background:#3b599814;border-color:var(--primary)}.login-divider{display:flex;align-items:center;margin:24px 0;color:var(--text-secondary);font-size:11px;text-transform:uppercase;letter-spacing:.5px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.login-divider span{margin:0 12px}.login-footer{text-align:center;font-size:12px;color:var(--text-secondary)}.login-footer a{color:var(--primary);text-decoration:none;font-weight:600;transition:color .3s ease}.login-footer a:hover{color:var(--primary-dark)}.alert-error{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:3px;padding:12px 16px;margin-bottom:24px;font-size:12px;animation:slideDown .3s ease}.alert-success{background-color:#dcfce7;border:1px solid #bbf7d0;color:#166534;border-radius:3px;padding:12px 16px;margin-bottom:24px;font-size:12px;animation:slideDown .3s ease}.alert-warning{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e;border-radius:3px;padding:16px;margin-bottom:24px;font-size:12px;animation:slideDown .3s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.invalid-feedback{display:block;color:var(--danger);font-size:11px;margin-top:6px;font-weight:500}.biometric-icon{font-size:24px;margin-bottom:8px}.tab-content{display:none}.tab-content.active{display:block;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn-force-login{background:linear-gradient(135deg,var(--success) 0%,#059669 100%)!important;border:none!important;border-radius:6px!important;padding:10px 14px!important;font-weight:600!important;font-size:11px!important;color:#fff!important;transition:all .3s ease!important;text-transform:uppercase!important;letter-spacing:.5px!important;box-shadow:0 2px 8px #10b9814d!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}.btn-force-login:hover{transform:translateY(-2px)!important;box-shadow:0 4px 12px #10b98166!important;color:#fff!important}.btn-force-login:active{transform:translateY(0)!important}.btn-force-login i{font-size:13px}.btn-cancel-login{background:var(--light-bg)!important;border:2px solid #ef4444!important;border-radius:6px!important;padding:10px 14px!important;font-weight:600!important;font-size:11px!important;color:#991b1b!important;transition:all .3s ease!important;text-transform:uppercase!important;letter-spacing:.5px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important}.btn-cancel-login:hover{background:#fee2e2!important;color:#7f1d1d!important}.btn-cancel-login i{font-size:13px}.swal-enterprise-popup{border-radius:8px!important;background:var(--bg-white)!important;box-shadow:0 4px 20px #3b599833!important;border:1px solid var(--border-color)!important;padding:0!important;max-width:420px!important}.swal-enterprise-title{font-size:15px!important;font-weight:700!important;color:var(--primary)!important;margin:0!important;padding:12px 16px!important;border-bottom:1px solid var(--border-color)!important;background:linear-gradient(135deg,#3b599805,#3b599803)!important}.swal-enterprise-content{padding:12px 16px!important;margin:0!important;font-size:12px!important;color:var(--text-primary)!important}.swal-enterprise-content .swal-dual-login-content .device-info-section{background:var(--light-bg)!important;border-radius:4px!important;padding:10px 12px!important;border-left:3px solid var(--warning)!important}.swal-enterprise-content .swal-dual-login-content .device-info-section h3{margin:0 0 8px!important;font-size:11px!important;font-weight:700!important;color:var(--primary)!important;text-transform:uppercase!important;letter-spacing:.5px!important}.swal-enterprise-content .swal-dual-login-content .device-info-section .device-details{display:flex!important;flex-direction:column!important;gap:4px!important}.swal-enterprise-content .swal-dual-login-content .device-info-section .device-details .detail-row{display:flex!important;justify-content:space-between!important;padding:3px 0!important;font-size:11px!important;border-bottom:1px solid rgba(31,41,55,.08)!important}.swal-enterprise-content .swal-dual-login-content .device-info-section .device-details .detail-row:last-child{border-bottom:none!important}.swal-enterprise-content .swal-dual-login-content .device-info-section .device-details .detail-row .detail-label{font-weight:600!important;color:var(--text-secondary)!important;min-width:50px!important}.swal-enterprise-content .swal-dual-login-content .device-info-section .device-details .detail-row .detail-value{color:var(--primary)!important;font-weight:500!important;text-align:right!important}.swal-enterprise-actions{padding:10px 12px!important;margin:0!important;gap:8px!important;background:var(--light-bg)!important;border-top:1px solid var(--border-color)!important;border-radius:0 0 8px 8px!important;display:flex!important;justify-content:flex-end!important;pointer-events:auto!important}.swal-btn-confirm{background:linear-gradient(135deg,var(--success) 0%,#059669 100%)!important;border:none!important;border-radius:4px!important;padding:8px 16px!important;font-weight:600!important;font-size:11px!important;color:#fff!important;transition:all .3s ease!important;text-transform:uppercase!important;letter-spacing:.4px!important;box-shadow:0 2px 6px #10b98140!important;cursor:pointer!important}.swal-btn-confirm:hover{transform:translateY(-1px)!important;box-shadow:0 3px 8px #10b98159!important}.swal-btn-confirm:active{transform:translateY(0)!important}.swal-btn-cancel{background:var(--bg-white)!important;border:1px solid var(--border-light)!important;border-radius:4px!important;padding:8px 14px!important;font-weight:600!important;font-size:11px!important;color:var(--text-secondary)!important;transition:all .3s ease!important;text-transform:uppercase!important;letter-spacing:.5px!important;cursor:pointer!important}.swal-btn-cancel:hover{background:var(--light-bg)!important;border-color:var(--text-secondary)!important;color:var(--text-primary)!important;transform:translateY(-1px)!important}.swal-btn-cancel:active{transform:translateY(0)!important}@media (max-width: 480px){.login-header{padding:30px 20px}.login-header .logo{font-size:24px}.login-body{padding:30px 20px}.form-control{padding:10px 12px;font-size:16px}.pin-input{height:44px;font-size:20px}}
