.password-field{position:relative}
.password-field input{padding-right:64px!important}
.password-field button{
  position:absolute;right:6px;top:50%;transform:translateY(-50%);
  border:0;background:#eef0ff;color:var(--primary);font:700 11px Poppins;
  cursor:pointer;padding:7px 12px;border-radius:7px;transition:.15s;
}
.password-field button:hover{background:#e0e2ff}

.login-card label{width:100%}
.login-card label input{background:#fafaff}


.remember-row{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px 14px;flex-wrap:wrap}
.remember-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer;white-space:nowrap;flex:none}
.remember-check input[type=checkbox]{
  width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0;flex:none;
}
.small{font-size:12.5px;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap;flex:none;margin-left:auto}
.small:hover{text-decoration:underline}

.text-danger{color:var(--red);background:var(--red-bg);padding:11px 14px;border-radius:9px;font-size:13px;font-weight:500}

.login-back-link{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted);text-decoration:none;margin-top:18px}
.login-back-link:hover{color:var(--primary)}

.login-card .mobile-brand{margin-bottom:26px}
  .login-card h2{font-size:25px}
@media(max-width:480px){
  .login-card{padding:30px 22px 26px;border-radius:18px}
  .login-card h2{font-size:18px}
}

/* =====================  ROLE SELECTION  ===================== */
.role-options{display:flex;flex-direction:column;gap:14px;margin-top:6px}

.role-option{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  border:1.5px solid #e2e4f1;background:#fafaff;border-radius:16px;
  padding:16px 16px;cursor:pointer;transition:.15s;font-family:inherit;
}
.role-option:hover{
  border-color:var(--primary);background:#f6f5ff;transform:translateY(-1px);
  box-shadow:0 12px 24px -16px #4f46e570;
}
.role-option:active{transform:translateY(0)}

.role-option-icon{
  width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  font-size:19px;flex:none;color:#fff;
}
.role-option-icon.employee{background:linear-gradient(135deg,#2563eb,#7c3aed)}
.role-option-icon.admin{background:linear-gradient(135deg,var(--primary),var(--primary-2))}

.role-option-text{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.role-option-text b{font-size:14.5px;font-weight:700;color:var(--ink)}
.role-option-text small{font-size:12px;color:var(--muted);font-weight:500;line-height:1.35}

.role-option>.bi-chevron-right{color:#c7c9de;font-size:15px;flex:none;transition:.15s}
.role-option:hover>.bi-chevron-right{color:var(--primary);transform:translateX(3px)}

.role-header-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}
.role-badge{
  display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  color:var(--primary);background:#4f46e514;border:1px solid #4f46e52a;
  padding:6px 13px;border-radius:20px;white-space:nowrap;
}
.login-back-link.mt-0{margin-top:0;background:none;border:0;cursor:pointer;padding:0}

@media(max-width:480px){
  .role-option{padding:14px}
  .role-option-icon{width:38px;height:38px;font-size:16px}
  .role-option-text b{font-size:13.5px}
  .role-option-text small{font-size:11.5px}
  .role-header-row{flex-wrap:wrap}
}
